refactor(数据库): 优化模型关联初始化并移除外键检查

移除手动设置 FOREIGN_KEY_CHECKS 的冗余代码,改为在关联定义中直接设置 constraints: false
简化初始化流程,保持功能一致但代码更清晰
This commit is contained in:
zhang1106
2025-12-30 13:40:44 +08:00
parent f09f90976d
commit ca381724b5
+9 -5
View File
@@ -157,15 +157,20 @@ const initDefaultFaultCategories = async () => {
};
const initAssociations = () => {
Ticket.hasMany(TicketOperationRecord, { foreignKey: 'ticketId', as: 'operationRecords' });
TicketOperationRecord.belongsTo(Ticket, { foreignKey: 'ticketId' });
Ticket.hasMany(TicketOperationRecord, {
foreignKey: 'ticketId',
as: 'operationRecords',
constraints: false
});
TicketOperationRecord.belongsTo(Ticket, {
foreignKey: 'ticketId',
constraints: false
});
};
const initializeModels = async () => {
try {
await sequelize.query('SET FOREIGN_KEY_CHECKS = 0');
await sequelize.sync({ alter: true });
await sequelize.query('SET FOREIGN_KEY_CHECKS = 1');
console.log('工单相关数据表同步完成');
initAssociations();
@@ -173,7 +178,6 @@ const initializeModels = async () => {
console.log('工单系统数据初始化完成');
} catch (error) {
await sequelize.query('SET FOREIGN_KEY_CHECKS = 1');
console.error('初始化工单系统数据失败:', error);
}
};