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