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