refactor(数据库): 优化模型关联初始化并移除外键检查
移除手动设置 FOREIGN_KEY_CHECKS 的冗余代码,改为在关联定义中直接设置 constraints: false 简化初始化流程,保持功能一致但代码更清晰
This commit is contained in:
@@ -157,15 +157,20 @@ const initDefaultFaultCategories = async () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const initAssociations = () => {
|
const initAssociations = () => {
|
||||||
Ticket.hasMany(TicketOperationRecord, { foreignKey: 'ticketId', as: 'operationRecords' });
|
Ticket.hasMany(TicketOperationRecord, {
|
||||||
TicketOperationRecord.belongsTo(Ticket, { foreignKey: 'ticketId' });
|
foreignKey: 'ticketId',
|
||||||
|
as: 'operationRecords',
|
||||||
|
constraints: false
|
||||||
|
});
|
||||||
|
TicketOperationRecord.belongsTo(Ticket, {
|
||||||
|
foreignKey: 'ticketId',
|
||||||
|
constraints: false
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const initializeModels = async () => {
|
const initializeModels = async () => {
|
||||||
try {
|
try {
|
||||||
await sequelize.query('SET FOREIGN_KEY_CHECKS = 0');
|
|
||||||
await sequelize.sync({ alter: true });
|
await sequelize.sync({ alter: true });
|
||||||
await sequelize.query('SET FOREIGN_KEY_CHECKS = 1');
|
|
||||||
console.log('工单相关数据表同步完成');
|
console.log('工单相关数据表同步完成');
|
||||||
|
|
||||||
initAssociations();
|
initAssociations();
|
||||||
@@ -173,7 +178,6 @@ const initializeModels = async () => {
|
|||||||
|
|
||||||
console.log('工单系统数据初始化完成');
|
console.log('工单系统数据初始化完成');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await sequelize.query('SET FOREIGN_KEY_CHECKS = 1');
|
|
||||||
console.error('初始化工单系统数据失败:', error);
|
console.error('初始化工单系统数据失败:', error);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user