Files
hr-assessment-system/scripts/check-db-tables.js

76 lines
2.5 KiB
JavaScript

const mysql = require('mysql2/promise')
async function checkDatabaseTables() {
const config = {
host: process.env.DB_HOST || 'mysql.theaken.com',
port: parseInt(process.env.DB_PORT || '33306'),
user: process.env.DB_USER || 'hr_assessment',
password: process.env.DB_PASSWORD || 'QFOts8FlibiI',
database: process.env.DB_NAME || 'db_hr_assessment',
}
console.log('🔍 檢查資料庫表結構...')
try {
const connection = await mysql.createConnection(config)
// 檢查所有表
console.log('\n📋 所有資料表:')
const [tables] = await connection.execute("SHOW TABLES")
tables.forEach(table => {
const tableName = Object.values(table)[0]
console.log(`- ${tableName}`)
})
// 檢查 test_results 表結構
console.log('\n📊 test_results 表結構:')
try {
const [columns] = await connection.execute("DESCRIBE test_results")
columns.forEach(col => {
console.log(`- ${col.Field}: ${col.Type} ${col.Null === 'NO' ? 'NOT NULL' : 'NULL'} ${col.Key ? `(${col.Key})` : ''}`)
})
} catch (error) {
console.log('❌ test_results 表不存在')
}
// 檢查 logic_test_answers 表結構
console.log('\n📝 logic_test_answers 表結構:')
try {
const [columns] = await connection.execute("DESCRIBE logic_test_answers")
columns.forEach(col => {
console.log(`- ${col.Field}: ${col.Type} ${col.Null === 'NO' ? 'NOT NULL' : 'NULL'} ${col.Key ? `(${col.Key})` : ''}`)
})
} catch (error) {
console.log('❌ logic_test_answers 表不存在')
}
// 檢查 users 表結構
console.log('\n👥 users 表結構:')
try {
const [columns] = await connection.execute("DESCRIBE users")
columns.forEach(col => {
console.log(`- ${col.Field}: ${col.Type} ${col.Null === 'NO' ? 'NOT NULL' : 'NULL'} ${col.Key ? `(${col.Key})` : ''}`)
})
} catch (error) {
console.log('❌ users 表不存在')
}
// 檢查 logic_questions 表結構
console.log('\n🧠 logic_questions 表結構:')
try {
const [columns] = await connection.execute("DESCRIBE logic_questions")
columns.forEach(col => {
console.log(`- ${col.Field}: ${col.Type} ${col.Null === 'NO' ? 'NOT NULL' : 'NULL'} ${col.Key ? `(${col.Key})` : ''}`)
})
} catch (error) {
console.log('❌ logic_questions 表不存在')
}
await connection.end()
} catch (error) {
console.error('❌ 檢查失敗:', error.message)
}
}
checkDatabaseTables()