完整實現詳細答題結果
This commit is contained in:
38
scripts/check-logic-answers.js
Normal file
38
scripts/check-logic-answers.js
Normal file
@@ -0,0 +1,38 @@
|
||||
const { executeQuery } = require('../lib/database/connection');
|
||||
|
||||
async function checkLogicAnswers() {
|
||||
try {
|
||||
console.log('=== 檢查 logic_test_answers 表 ===');
|
||||
const answers = await executeQuery('SELECT * FROM logic_test_answers');
|
||||
console.log('logic_test_answers 資料總數:', answers.length);
|
||||
if (answers.length > 0) {
|
||||
console.log('前3筆資料:', answers.slice(0, 3));
|
||||
}
|
||||
|
||||
console.log('\n=== 檢查 test_results 表 ===');
|
||||
const results = await executeQuery('SELECT * FROM test_results WHERE type = "logic" ORDER BY created_at DESC LIMIT 5');
|
||||
console.log('logic test_results 資料總數:', results.length);
|
||||
if (results.length > 0) {
|
||||
console.log('前3筆資料:', results);
|
||||
|
||||
console.log('\n=== 檢查關聯資料 ===');
|
||||
for (const result of results.slice(0, 2)) {
|
||||
console.log(`\n檢查 test_result_id: ${result.id}`);
|
||||
const relatedAnswers = await executeQuery('SELECT * FROM logic_test_answers WHERE test_result_id = ?', [result.id]);
|
||||
console.log(`關聯的答案數量: ${relatedAnswers.length}`);
|
||||
if (relatedAnswers.length > 0) {
|
||||
console.log('答案資料:', relatedAnswers);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log('\n=== 檢查所有 test_results 類型 ===');
|
||||
const allResults = await executeQuery('SELECT type, COUNT(*) as count FROM test_results GROUP BY type');
|
||||
console.log('各類型測試結果數量:', allResults);
|
||||
|
||||
} catch (error) {
|
||||
console.error('錯誤:', error.message);
|
||||
}
|
||||
}
|
||||
|
||||
checkLogicAnswers();
|
66
scripts/check-single-test-answers.js
Normal file
66
scripts/check-single-test-answers.js
Normal file
@@ -0,0 +1,66 @@
|
||||
const { executeQuery } = require('../lib/database/connection');
|
||||
|
||||
async function checkSingleTestAnswers() {
|
||||
console.log('🔍 檢查單一測試類型的答案資料');
|
||||
console.log('==============================');
|
||||
|
||||
try {
|
||||
// 檢查 test_results 表
|
||||
console.log('\n📋 Test Results:');
|
||||
const testResults = await executeQuery('SELECT id, user_id, test_type, score, completed_at FROM test_results ORDER BY completed_at DESC LIMIT 5');
|
||||
testResults.forEach((result, index) => {
|
||||
console.log(`測試 ${index + 1}:`, {
|
||||
id: result.id,
|
||||
user_id: result.user_id,
|
||||
test_type: result.test_type,
|
||||
score: result.score,
|
||||
completed_at: result.completed_at
|
||||
});
|
||||
});
|
||||
|
||||
// 檢查 logic_test_answers 表
|
||||
console.log('\n📋 Logic Test Answers:');
|
||||
const logicAnswers = await executeQuery('SELECT * FROM logic_test_answers ORDER BY created_at DESC LIMIT 5');
|
||||
logicAnswers.forEach((answer, index) => {
|
||||
console.log(`邏輯答案 ${index + 1}:`, {
|
||||
id: answer.id,
|
||||
test_result_id: answer.test_result_id,
|
||||
question_id: answer.question_id,
|
||||
user_answer: answer.user_answer,
|
||||
is_correct: answer.is_correct
|
||||
});
|
||||
});
|
||||
|
||||
// 檢查 creative_test_answers 表
|
||||
console.log('\n📋 Creative Test Answers:');
|
||||
const creativeAnswers = await executeQuery('SELECT * FROM creative_test_answers ORDER BY created_at DESC LIMIT 5');
|
||||
creativeAnswers.forEach((answer, index) => {
|
||||
console.log(`創意答案 ${index + 1}:`, {
|
||||
id: answer.id,
|
||||
test_result_id: answer.test_result_id,
|
||||
question_id: answer.question_id,
|
||||
user_answer: answer.user_answer,
|
||||
score: answer.score
|
||||
});
|
||||
});
|
||||
|
||||
// 檢查是否有匹配的答案
|
||||
if (testResults.length > 0) {
|
||||
const firstTest = testResults[0];
|
||||
console.log(`\n🔍 檢查測試 ${firstTest.id} 的答案:`);
|
||||
|
||||
const matchingLogicAnswers = await executeQuery('SELECT * FROM logic_test_answers WHERE test_result_id = ?', [firstTest.id]);
|
||||
console.log(`邏輯答案匹配數量: ${matchingLogicAnswers.length}`);
|
||||
|
||||
const matchingCreativeAnswers = await executeQuery('SELECT * FROM creative_test_answers WHERE test_result_id = ?', [firstTest.id]);
|
||||
console.log(`創意答案匹配數量: ${matchingCreativeAnswers.length}`);
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 檢查失敗:', error.message);
|
||||
}
|
||||
|
||||
console.log('==============================\n');
|
||||
}
|
||||
|
||||
checkSingleTestAnswers();
|
53
scripts/test-db-connection.js
Normal file
53
scripts/test-db-connection.js
Normal file
@@ -0,0 +1,53 @@
|
||||
const { executeQuery } = require('../lib/database/connection');
|
||||
|
||||
async function testDbConnection() {
|
||||
console.log('🔍 測試資料庫連接和表結構');
|
||||
console.log('==============================');
|
||||
|
||||
try {
|
||||
// 測試基本連接
|
||||
console.log('1. 測試基本連接...');
|
||||
const testQuery = await executeQuery('SELECT 1 as test');
|
||||
console.log('✅ 資料庫連接成功:', testQuery);
|
||||
|
||||
// 檢查所有表
|
||||
console.log('\n2. 檢查所有表...');
|
||||
const tables = await executeQuery('SHOW TABLES');
|
||||
console.log('📋 所有表:', tables.map(t => Object.values(t)[0]));
|
||||
|
||||
// 檢查 logic_test_answers 表是否存在
|
||||
console.log('\n3. 檢查 logic_test_answers 表...');
|
||||
const tableExists = await executeQuery(`
|
||||
SELECT COUNT(*) as count
|
||||
FROM information_schema.tables
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'logic_test_answers'
|
||||
`);
|
||||
console.log('logic_test_answers 表存在:', tableExists[0].count > 0);
|
||||
|
||||
// 檢查表結構
|
||||
console.log('\n4. 檢查 logic_test_answers 表結構...');
|
||||
const tableStructure = await executeQuery('DESCRIBE logic_test_answers');
|
||||
console.log('📋 表結構:', tableStructure);
|
||||
|
||||
// 檢查資料數量
|
||||
console.log('\n5. 檢查資料數量...');
|
||||
const count = await executeQuery('SELECT COUNT(*) as count FROM logic_test_answers');
|
||||
console.log('📊 logic_test_answers 資料數量:', count[0].count);
|
||||
|
||||
// 檢查前幾筆資料
|
||||
if (count[0].count > 0) {
|
||||
console.log('\n6. 檢查前 3 筆資料...');
|
||||
const sampleData = await executeQuery('SELECT * FROM logic_test_answers LIMIT 3');
|
||||
console.log('📋 範例資料:', sampleData);
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 測試失敗:', error.message);
|
||||
console.error('錯誤詳情:', error);
|
||||
}
|
||||
|
||||
console.log('==============================\n');
|
||||
}
|
||||
|
||||
testDbConnection();
|
Reference in New Issue
Block a user