refactor(server, init-db): 调整数据库模型同步逻辑与顺序

- 补充新增的业务模型同步配置
- 按依赖层级重构初始化脚本的同步顺序
- 调整server.js中业务模型同步的调用时机
- 更新同步完成的日志信息
This commit is contained in:
zhang1106
2026-05-15 16:52:38 +08:00
parent 9566b94661
commit 8c9e82c8a7
2 changed files with 87 additions and 26 deletions
+34 -8
View File
@@ -95,18 +95,44 @@ async function syncBusinessModels() {
const Business = require('./models/Business');
const DeviceBusiness = require('./models/DeviceBusiness');
const Warehouse = require('./models/Warehouse');
const Cable = require('./models/Cable');
const DevicePort = require('./models/DevicePort');
const NetworkCard = require('./models/NetworkCard');
const PendingDevice = require('./models/PendingDevice');
const Role = require('./models/Role');
const Permission = require('./models/Permission');
const UserRole = require('./models/UserRole');
const Ticket = require('./models/Ticket');
const TicketOperationRecord = require('./models/TicketOperationRecord');
// 仅在开发环境使用 sync({ alter: true }),生产环境应使用 migrations
if (process.env.NODE_ENV !== 'production') {
await Business.sync({ alter: true });
await DeviceBusiness.sync({ alter: true });
await Warehouse.sync({ alter: true });
logger.info('业务/设备关联/库房模型同步完成(alter mode');
await Business.sync({ alter: true });
await Role.sync({ alter: true });
await Permission.sync({ alter: true });
await UserRole.sync({ alter: true });
await Cable.sync({ alter: true });
await DevicePort.sync({ alter: true });
await NetworkCard.sync({ alter: true });
await DeviceBusiness.sync({ alter: true });
await PendingDevice.sync({ alter: true });
await Ticket.sync({ alter: true });
await TicketOperationRecord.sync({ alter: true });
logger.info('业务/库房/工单等扩展模型同步完成(alter mode');
} else {
await Business.sync();
await DeviceBusiness.sync();
await Warehouse.sync();
logger.info('业务/设备关联/库房模型同步完成(safe mode');
await Business.sync();
await Role.sync();
await Permission.sync();
await UserRole.sync();
await Cable.sync();
await DevicePort.sync();
await NetworkCard.sync();
await DeviceBusiness.sync();
await PendingDevice.sync();
await Ticket.sync();
await TicketOperationRecord.sync();
logger.info('业务/库房/工单等扩展模型同步完成(safe mode');
}
}
@@ -213,6 +239,7 @@ async function initAutoBackupScheduler() {
async function initializeApp() {
try {
await syncDatabase();
await syncBusinessModels();
await initDeviceFields();
await initTicketFields();
await initTicketModels();
@@ -221,7 +248,6 @@ async function initializeApp() {
await syncInventoryModels();
await syncBackupLogModel();
await syncOperationLogModel();
await syncBusinessModels();
await initDefaultSystemSettings();
await initFaultCategories();
await initAutoBackupScheduler();