修正時間到上船數據問題

This commit is contained in:
2025-10-12 01:52:25 +08:00
parent cf40e937a1
commit 6f7ed92a8a
14 changed files with 528 additions and 41 deletions

View File

@@ -0,0 +1,86 @@
const mysql = require('mysql2/promise');
// 資料庫配置
const dbConfig = {
host: 'localhost',
user: 'root',
password: '123456',
database: 'hr_assessment',
port: 3306
};
async function addTimeoutColumns() {
let connection;
try {
console.log('🔄 連接到資料庫...');
connection = await mysql.createConnection(dbConfig);
console.log('✅ 資料庫連接成功');
console.log('🔄 開始添加 is_timeout 欄位...');
// 檢查並添加 test_results 表的 is_timeout 欄位
try {
// 先檢查欄位是否已存在
const [checkResult] = await connection.execute(`
SELECT COUNT(*) as count
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'test_results'
AND COLUMN_NAME = 'is_timeout'
`);
const columnExists = checkResult[0].count > 0;
if (!columnExists) {
await connection.execute(`
ALTER TABLE test_results
ADD COLUMN is_timeout BOOLEAN DEFAULT FALSE
`);
console.log('✅ test_results 表已添加 is_timeout 欄位');
} else {
console.log(' test_results 表的 is_timeout 欄位已存在,跳過');
}
} catch (error) {
console.error('❌ 檢查/添加 test_results 表 is_timeout 欄位失敗:', error.message);
}
// 檢查並添加 combined_test_results 表的 is_timeout 欄位
try {
// 先檢查欄位是否已存在
const [checkResult] = await connection.execute(`
SELECT COUNT(*) as count
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'combined_test_results'
AND COLUMN_NAME = 'is_timeout'
`);
const columnExists = checkResult[0].count > 0;
if (!columnExists) {
await connection.execute(`
ALTER TABLE combined_test_results
ADD COLUMN is_timeout BOOLEAN DEFAULT FALSE
`);
console.log('✅ combined_test_results 表已添加 is_timeout 欄位');
} else {
console.log(' combined_test_results 表的 is_timeout 欄位已存在,跳過');
}
} catch (error) {
console.error('❌ 檢查/添加 combined_test_results 表 is_timeout 欄位失敗:', error.message);
}
console.log('✅ is_timeout 欄位添加完成');
} catch (error) {
console.error('❌ 執行失敗:', error);
process.exit(1);
} finally {
if (connection) {
await connection.end();
console.log('📝 資料庫連接已關閉');
}
}
}
// 執行遷移
addTimeoutColumns();