2025-09-28 18:01:25 +08:00
|
|
|
const sequelize = require('../config/database.js');
|
2025-09-26 17:52:50 +08:00
|
|
|
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',
|
2025-09-28 18:01:25 +08:00
|
|
|
epidemicScope: '负责全市所有区域的动物防疫工作统筹管理和技术指导',
|
2025-09-26 17:52:50 +08:00
|
|
|
description: '负责全市动物防疫工作的统筹管理和技术指导'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '东区动物防疫分站',
|
|
|
|
|
director: '李四',
|
|
|
|
|
phone: '13800138002',
|
|
|
|
|
address: '市东区防疫路50号',
|
|
|
|
|
email: 'east@animalhealth.gov.cn',
|
|
|
|
|
type: 'branch',
|
|
|
|
|
status: 'active',
|
|
|
|
|
establishmentDate: '2012-05-20',
|
2025-09-28 18:01:25 +08:00
|
|
|
epidemicScope: '负责东区所有街道、乡镇的动物防疫工作',
|
2025-09-26 17:52:50 +08:00
|
|
|
description: '负责东区范围内的动物防疫工作'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '西区动物防疫分站',
|
|
|
|
|
director: '王五',
|
|
|
|
|
phone: '13800138003',
|
|
|
|
|
address: '市西区健康大道200号',
|
|
|
|
|
email: 'west@animalhealth.gov.cn',
|
|
|
|
|
type: 'branch',
|
|
|
|
|
status: 'active',
|
|
|
|
|
establishmentDate: '2013-03-10',
|
2025-09-28 18:01:25 +08:00
|
|
|
epidemicScope: '负责西区所有街道、乡镇的动物防疫工作',
|
2025-09-26 17:52:50 +08:00
|
|
|
description: '负责西区范围内的动物防疫工作'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '北区动物防疫分站',
|
|
|
|
|
director: '赵六',
|
|
|
|
|
phone: '13800138004',
|
|
|
|
|
address: '市北区安全路88号',
|
|
|
|
|
email: 'north@animalhealth.gov.cn',
|
|
|
|
|
type: 'branch',
|
|
|
|
|
status: 'active',
|
|
|
|
|
establishmentDate: '2014-07-05',
|
2025-09-28 18:01:25 +08:00
|
|
|
epidemicScope: '负责北区所有街道、乡镇的动物防疫工作',
|
2025-09-26 17:52:50 +08:00
|
|
|
description: '负责北区范围内的动物防疫工作'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '南区动物防疫分站',
|
|
|
|
|
director: '钱七',
|
|
|
|
|
phone: '13800138005',
|
|
|
|
|
address: '市南区健康路66号',
|
|
|
|
|
email: 'south@animalhealth.gov.cn',
|
|
|
|
|
type: 'branch',
|
|
|
|
|
status: 'active',
|
|
|
|
|
establishmentDate: '2015-02-28',
|
2025-09-28 18:01:25 +08:00
|
|
|
epidemicScope: '负责南区所有街道、乡镇的动物防疫工作',
|
2025-09-26 17:52:50 +08:00
|
|
|
description: '负责南区范围内的动物防疫工作'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '流动防疫队',
|
|
|
|
|
director: '孙八',
|
|
|
|
|
phone: '13800138006',
|
|
|
|
|
address: '市中区应急中心',
|
|
|
|
|
email: 'mobile@animalhealth.gov.cn',
|
|
|
|
|
type: 'mobile',
|
|
|
|
|
status: 'active',
|
|
|
|
|
establishmentDate: '2016-09-15',
|
2025-09-28 18:01:25 +08:00
|
|
|
epidemicScope: '负责全市偏远地区、山区及突发事件的动物防疫工作',
|
2025-09-26 17:52:50 +08:00
|
|
|
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();
|