Files
nxxmdata/backend/check-actual-data.js
2025-09-22 19:09:45 +08:00

99 lines
3.4 KiB
JavaScript

/**
* 检查实际数据
* @file check-actual-data.js
* @description 检查数据库中项圈22012000107的实际数据
*/
const { sequelize } = require('./config/database-simple');
async function checkActualData() {
console.log('🔍 检查数据库中项圈22012000107的实际数据...\n');
try {
// 1. 测试数据库连接
console.log('1. 测试数据库连接...');
await sequelize.authenticate();
console.log('✅ 数据库连接成功');
// 2. 查询项圈22012000107的数据
console.log('\n2. 查询项圈22012000107的数据...');
const [results] = await sequelize.query(`
SELECT
id, sn, deviceId, battery, temperature, state,
uptime, longitude, latitude, gps_state, rsrp,
bandge_status, is_connect, steps, y_steps
FROM iot_xq_client
WHERE sn = '22012000107'
ORDER BY uptime DESC
`);
console.log(`找到 ${results.length} 条记录`);
results.forEach((row, index) => {
console.log(`\n记录${index + 1}:`);
console.log('ID:', row.id);
console.log('SN:', row.sn);
console.log('设备ID:', row.deviceId);
console.log('电量:', row.battery, '(类型:', typeof row.battery, ')');
console.log('温度:', row.temperature, '(类型:', typeof row.temperature, ')');
console.log('状态:', row.state);
console.log('经度:', row.longitude);
console.log('纬度:', row.latitude);
console.log('GPS状态:', row.gps_state);
console.log('RSRP:', row.rsrp);
console.log('佩戴状态:', row.bandge_status);
console.log('连接状态:', row.is_connect);
console.log('步数:', row.steps);
console.log('昨日步数:', row.y_steps);
console.log('更新时间:', row.uptime);
});
// 3. 查询所有项圈的最新数据
console.log('\n3. 查询所有项圈的最新数据...');
const [allResults] = await sequelize.query(`
SELECT
id, sn, deviceId, battery, temperature, state, uptime
FROM iot_xq_client
ORDER BY uptime DESC
LIMIT 10
`);
console.log('所有项圈的最新数据:');
allResults.forEach((row, index) => {
console.log(`${index + 1}. SN: ${row.sn}, 电量: ${row.battery}, 温度: ${row.temperature}, 状态: ${row.state}`);
});
// 4. 检查数据库配置
console.log('\n4. 检查数据库配置...');
const config = sequelize.config;
console.log('数据库配置:');
console.log('主机:', config.host);
console.log('端口:', config.port);
console.log('数据库名:', config.database);
console.log('用户名:', config.username);
// 5. 检查当前数据库
console.log('\n5. 检查当前数据库...');
const [currentDb] = await sequelize.query('SELECT DATABASE() as current_db');
console.log('当前数据库:', currentDb[0].current_db);
// 6. 检查是否有其他数据库
console.log('\n6. 检查所有数据库...');
const [databases] = await sequelize.query('SHOW DATABASES');
console.log('所有数据库:');
databases.forEach(db => {
const dbName = Object.values(db)[0];
console.log('-', dbName);
});
} catch (error) {
console.error('❌ 检查失败:', error.message);
console.error('错误详情:', error);
} finally {
process.exit(0);
}
}
// 运行检查
checkActualData().catch(console.error);