Files
ExecuBoard/scripts/test-kpi-data.js
2025-08-01 00:55:05 +08:00

64 lines
2.0 KiB
JavaScript

// 測試 KPI 數據
require('dotenv').config({ path: '.env.local' })
const mysql = require('mysql2/promise')
async function testKPIData() {
const config = {
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,
}
try {
const connection = await mysql.createConnection(config)
console.log('🔗 連接到 MySQL 資料庫...')
// 檢查用戶數據
console.log('\n👥 檢查用戶數據...')
const [users] = await connection.execute('SELECT * FROM users')
console.log(`找到 ${users.length} 個用戶:`)
users.forEach(user => {
console.log(` - ${user.id}: ${user.name} (${user.role})`)
})
// 檢查 KPI 數據
console.log('\n📊 檢查 KPI 數據...')
const [kpis] = await connection.execute('SELECT * FROM kpi')
console.log(`找到 ${kpis.length} 個 KPI:`)
kpis.forEach(kpi => {
console.log(` - ${kpi.id}: ${kpi.title} (${kpi.status}) - 用戶: ${kpi.user_id}`)
})
// 測試特定用戶的 KPI
console.log('\n🔍 測試 user_001 的 KPI...')
const [userKPIs] = await connection.execute(
'SELECT * FROM kpi WHERE user_id = ?',
['user_001']
)
console.log(`user_001 有 ${userKPIs.length} 個 KPI:`)
userKPIs.forEach(kpi => {
console.log(` - ${kpi.title}: ${kpi.current_value}/${kpi.target_value} ${kpi.unit} (${kpi.status})`)
})
// 測試活躍狀態的 KPI
console.log('\n🔍 測試活躍狀態的 KPI...')
const [activeKPIs] = await connection.execute(
'SELECT * FROM kpi WHERE status = ?',
['active']
)
console.log(`${activeKPIs.length} 個活躍的 KPI:`)
activeKPIs.forEach(kpi => {
console.log(` - ${kpi.title} (${kpi.user_id}): ${kpi.status}`)
})
await connection.end()
console.log('\n✅ KPI 數據測試完成')
} catch (error) {
console.error('❌ KPI 數據測試失敗:', error)
}
}
testKPIData()