Files
nxxmdata/government-backend/scripts/initSmartEarmarkTable.js

62 lines
1.8 KiB
JavaScript
Raw Normal View History

// 初始化智能耳标表并添加测试数据
const sequelize = require('../config/database');
const SmartEarmark = require('../models/SmartEarmark');
async function initSmartEarmarkTable() {
try {
// 同步模型到数据库,创建表
await SmartEarmark.sync({
force: false, // 设置为true会删除已存在的表并重新创建
alter: true // 允许修改表结构以匹配模型
});
console.log('智能耳标表同步成功');
// 检查是否已经有数据
const existingCount = await SmartEarmark.count();
if (existingCount === 0) {
// 添加测试数据
const testData = [
{
earmark_id: 'EM001',
name: '智能耳标001',
status: 'active',
battery: 90,
remark: '用于示范的耳标'
},
{
earmark_id: 'EM002',
name: '智能耳标002',
status: 'inactive',
battery: 100,
remark: ''
},
{
earmark_id: 'EM003',
name: '智能耳标003',
status: 'maintenance',
battery: 15,
remark: '电池需要更换'
}
];
await SmartEarmark.bulkCreate(testData);
console.log(`已添加 ${testData.length} 条测试数据到智能耳标表`);
} else {
console.log(`智能耳标表已有 ${existingCount} 条数据,不重复添加测试数据`);
}
// 关闭数据库连接
await sequelize.close();
} catch (error) {
console.error('初始化智能耳标表失败:', error);
// 确保出错时也关闭数据库连接
await sequelize.close().catch(closeError => {
console.error('关闭数据库连接时出错:', closeError);
});
process.exit(1);
}
}
// 执行初始化函数
initSmartEarmarkTable();