From 03a788e29839f52525c0f8ca5c4093db904349ce Mon Sep 17 00:00:00 2001 From: aken1023 Date: Fri, 1 Aug 2025 01:21:37 +0800 Subject: [PATCH] wqw --- scripts/test-user-update.js | 61 +++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 scripts/test-user-update.js diff --git a/scripts/test-user-update.js b/scripts/test-user-update.js new file mode 100644 index 0000000..35daba2 --- /dev/null +++ b/scripts/test-user-update.js @@ -0,0 +1,61 @@ +require('dotenv').config({ path: '.env.local' }) +const mysql = require('mysql2/promise') + +async function testUserUpdate() { + console.log('🧪 測試用戶更新功能...') + + // 連接資料庫 + const dbConfig = { + host: process.env.DB_HOST, + port: parseInt(process.env.DB_PORT), + database: process.env.DB_DATABASE, + user: process.env.DB_USERNAME, + password: process.env.DB_PASSWORD, + } + + console.log('🔗 連接到資料庫...') + const db = mysql.createPool(dbConfig) + + try { + // 1. 檢查用戶是否存在 + console.log('1️⃣ 檢查用戶 user_001 是否存在...') + const [users] = await db.execute('SELECT * FROM users WHERE id = ?', ['user_001']) + if (users.length === 0) { + console.log('❌ 用戶 user_001 不存在') + return + } + console.log('✅ 用戶存在:', users[0]) + + // 2. 測試更新 + console.log('2️⃣ 測試更新用戶...') + const updateData = { + name: '陳雅雯測試更新', + email: 'chen@company.com', + role: 'manager' + } + + const now = new Date().toISOString() + const fields = Object.keys(updateData).map(key => `${key} = ?`) + const values = Object.values(updateData) + + console.log('SQL:', `UPDATE users SET ${fields.join(', ')}, updated_at = ? WHERE id = ?`) + console.log('參數:', [...values, now, 'user_001']) + + await db.execute( + `UPDATE users SET ${fields.join(', ')}, updated_at = ? WHERE id = ?`, + [...values, now, 'user_001'] + ) + + // 3. 驗證更新結果 + console.log('3️⃣ 驗證更新結果...') + const [updatedUsers] = await db.execute('SELECT * FROM users WHERE id = ?', ['user_001']) + console.log('✅ 更新成功:', updatedUsers[0]) + + } catch (error) { + console.error('❌ 測試失敗:', error) + } finally { + await db.end() + } +} + +testUserUpdate() \ No newline at end of file