Files
nxxmdata/government-backend/scripts/initEpidemicAgencyTable.js

120 lines
4.0 KiB
JavaScript
Raw Normal View History

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();