refactor(数据库): 优化模型关联初始化并移除外键检查
移除手动设置 FOREIGN_KEY_CHECKS 的冗余代码,改为在关联定义中直接设置 constraints: false 简化初始化流程,保持功能一致但代码更清晰
This commit is contained in:
@@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user