const sequelize = require('../config/database.js'); const EpidemicAgency = require('../models/EpidemicAgency'); async function initEpidemicAgencyTable() { try { console.log('开始初始化防疫机构表...'); // 测试数据库连接 await sequelize.authenticate(); console.log('✅ 数据库连接成功'); // 同步模型到数据库(创建表) await EpidemicAgency.sync({ alter: true // 如有必要,修改表结构 }); console.log('✅ 防疫机构表创建/更新成功'); // 清除现有数据 await EpidemicAgency.destroy({ where: {}, truncate: true }); console.log('✅ 现有数据已清空'); // 插入测试数据 const testData = [ { name: '中心动物防疫站', director: '张三', phone: '13800138001', address: '市南区健康路100号', email: 'center@animalhealth.gov.cn', type: 'center', status: 'active', establishmentDate: '2010-01-15', epidemicScope: '负责全市所有区域的动物防疫工作统筹管理和技术指导', description: '负责全市动物防疫工作的统筹管理和技术指导' }, { name: '东区动物防疫分站', director: '李四', phone: '13800138002', address: '市东区防疫路50号', email: 'east@animalhealth.gov.cn', type: 'branch', status: 'active', establishmentDate: '2012-05-20', epidemicScope: '负责东区所有街道、乡镇的动物防疫工作', description: '负责东区范围内的动物防疫工作' }, { name: '西区动物防疫分站', director: '王五', phone: '13800138003', address: '市西区健康大道200号', email: 'west@animalhealth.gov.cn', type: 'branch', status: 'active', establishmentDate: '2013-03-10', epidemicScope: '负责西区所有街道、乡镇的动物防疫工作', description: '负责西区范围内的动物防疫工作' }, { name: '北区动物防疫分站', director: '赵六', phone: '13800138004', address: '市北区安全路88号', email: 'north@animalhealth.gov.cn', type: 'branch', status: 'active', establishmentDate: '2014-07-05', epidemicScope: '负责北区所有街道、乡镇的动物防疫工作', description: '负责北区范围内的动物防疫工作' }, { name: '南区动物防疫分站', director: '钱七', phone: '13800138005', address: '市南区健康路66号', email: 'south@animalhealth.gov.cn', type: 'branch', status: 'active', establishmentDate: '2015-02-28', epidemicScope: '负责南区所有街道、乡镇的动物防疫工作', description: '负责南区范围内的动物防疫工作' }, { name: '流动防疫队', director: '孙八', phone: '13800138006', address: '市中区应急中心', email: 'mobile@animalhealth.gov.cn', type: 'mobile', status: 'active', establishmentDate: '2016-09-15', epidemicScope: '负责全市偏远地区、山区及突发事件的动物防疫工作', description: '负责偏远地区和突发事件的动物防疫工作' } ]; await EpidemicAgency.bulkCreate(testData); console.log('✅ 测试数据插入成功'); // 验证数据是否插入成功 const agencies = await EpidemicAgency.findAll(); console.log(`✅ 共插入 ${agencies.length} 条数据`); console.log('🎉 防疫机构表初始化完成'); } catch (error) { console.error('❌ 初始化防疫机构表失败:', error); } finally { // 关闭数据库连接 await sequelize.close(); console.log('🔌 数据库连接已关闭'); } } // 执行初始化函数 initEpidemicAgencyTable();