wqw
This commit is contained in:
61
scripts/test-user-update.js
Normal file
61
scripts/test-user-update.js
Normal file
@@ -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()
|
Reference in New Issue
Block a user