feat: 拉取最新仓库代码

Co-authored-by: traeagent <traeagent@users.noreply.github.com>
This commit is contained in:
gituib
2026-05-06 03:19:21 +00:00
co-authored by traeagent
parent 5170c0ab6f
commit 307528b36b
4 changed files with 31 additions and 21 deletions
+4 -1
View File
@@ -19,8 +19,11 @@ const Business = sequelize.define(
allowNull: true, allowNull: true,
}, },
status: { status: {
type: DataTypes.ENUM('active', 'offline'), type: DataTypes.STRING,
defaultValue: 'active', defaultValue: 'active',
validate: {
isIn: [['active', 'offline']],
},
}, },
offlineDate: { offlineDate: {
type: DataTypes.DATE, type: DataTypes.DATE,
+4 -1
View File
@@ -25,8 +25,11 @@ const Warehouse = sequelize.define(
defaultValue: 100, defaultValue: 100,
}, },
status: { status: {
type: DataTypes.ENUM('active', 'inactive'), type: DataTypes.STRING,
defaultValue: 'active', defaultValue: 'active',
validate: {
isIn: [['active', 'inactive']],
},
}, },
description: { description: {
type: DataTypes.TEXT, type: DataTypes.TEXT,
+16 -14
View File
@@ -227,27 +227,29 @@ async function initDatabase() {
// 同步所有模型(按依赖顺序) // 同步所有模型(按依赖顺序)
console.log('开始同步模型...'); console.log('开始同步模型...');
const alterOptions = process.env.DB_TYPE === 'mysql' ? { alter: true } : {};
// 基础模型 // 基础模型
await User.sync({ alter: true }); await User.sync(alterOptions);
await Room.sync({ alter: true }); await Room.sync(alterOptions);
await Rack.sync({ alter: true }); await Rack.sync(alterOptions);
await Device.sync({ alter: true }); await Device.sync(alterOptions);
await FaultCategory.sync({ alter: true }); await FaultCategory.sync(alterOptions);
// 耗材相关模型 // 耗材相关模型
await ConsumableCategory.sync({ alter: true }); await ConsumableCategory.sync(alterOptions);
await Consumable.sync({ alter: true }); await Consumable.sync(alterOptions);
await ConsumableLog.sync({ alter: true }); await ConsumableLog.sync(alterOptions);
await ConsumableRecord.sync({ alter: true }); await ConsumableRecord.sync(alterOptions);
await ConsumableLogArchive.sync({ alter: true }); await ConsumableLogArchive.sync(alterOptions);
// 盘点相关模型 // 盘点相关模型
await InventoryPlan.sync({ alter: true }); await InventoryPlan.sync(alterOptions);
await InventoryTask.sync({ alter: true }); await InventoryTask.sync(alterOptions);
await InventoryRecord.sync({ alter: true }); await InventoryRecord.sync(alterOptions);
// 系统设置 // 系统设置
await SystemSetting.sync({ alter: true }); await SystemSetting.sync(alterOptions);
console.log('数据库表结构同步完成'); console.log('数据库表结构同步完成');
+7 -5
View File
@@ -6,7 +6,7 @@ ensureJwtSecret();
const express = require('express'); const express = require('express');
const cors = require('cors'); const cors = require('cors');
const fileUpload = require('express-fileupload'); const fileUpload = require('express-fileupload');
const { sequelize } = require('./db'); const { sequelize, dbDialect } = require('./db');
const { FILE_UPLOAD } = require('./config'); const { FILE_UPLOAD } = require('./config');
const { generateId } = require('./utils/idGenerator'); const { generateId } = require('./utils/idGenerator');
const logger = require('./utils/logger').module('Server'); const logger = require('./utils/logger').module('Server');
@@ -96,10 +96,12 @@ async function syncBusinessModels() {
const DeviceBusiness = require('./models/DeviceBusiness'); const DeviceBusiness = require('./models/DeviceBusiness');
const Warehouse = require('./models/Warehouse'); const Warehouse = require('./models/Warehouse');
await Business.sync(); const alterOptions = dbDialect === 'mysql' ? { alter: true } : {};
await DeviceBusiness.sync();
await Warehouse.sync(); await Business.sync(alterOptions);
logger.info('业务/设备关联/库房模型同步完成'); await DeviceBusiness.sync(alterOptions);
await Warehouse.sync(alterOptions);
logger.info(`业务/设备关联/库房模型同步完成(${dbDialect}${dbDialect === 'mysql' ? ' alter mode' : ''}`);
} }
async function initDefaultSystemSettings() { async function initDefaultSystemSettings() {