新增評分項目設定、資料庫整合

This commit is contained in:
2025-09-22 00:33:12 +08:00
parent 8de09129be
commit 9d4c586ad3
20 changed files with 2321 additions and 79 deletions

54
scripts/test-database.js Normal file
View File

@@ -0,0 +1,54 @@
const mysql = require('mysql2/promise');
// 資料庫配置
const dbConfig = {
host: process.env.DB_HOST || 'mysql.theaken.com',
port: parseInt(process.env.DB_PORT || '33306'),
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || 'zh6161168',
database: process.env.DB_NAME || 'db_AI_scoring',
charset: 'utf8mb4',
timezone: '+08:00',
};
async function testDatabase() {
let connection;
try {
console.log('🔄 正在測試資料庫連接...');
connection = await mysql.createConnection(dbConfig);
// 測試基本連接
await connection.ping();
console.log('✅ 資料庫連接成功');
// 測試查詢
const [rows] = await connection.query('SELECT COUNT(*) as count FROM criteria_templates');
console.log(`✅ 找到 ${rows[0].count} 個評分標準模板`);
// 顯示所有資料表
const [tables] = await connection.query('SHOW TABLES');
console.log('📊 資料庫中的資料表:');
tables.forEach(table => {
console.log(` - ${Object.values(table)[0]}`);
});
// 測試預設數據
const [criteriaItems] = await connection.query('SELECT * FROM criteria_items ORDER BY sort_order');
console.log('📋 預設評分項目:');
criteriaItems.forEach(item => {
console.log(` - ${item.name} (權重: ${item.weight}%, 滿分: ${item.max_score})`);
});
await connection.end();
console.log('🎉 資料庫測試完成!');
} catch (error) {
console.error('❌ 資料庫測試失敗:', error.message);
console.error('詳細錯誤:', error);
process.exit(1);
}
}
testDatabase();