62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
|
|
// 初始化智能耳标表并添加测试数据
|
||
|
|
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();
|