From 50fff30aeb5235f6d278904be0ba39a0e3b04b7e Mon Sep 17 00:00:00 2001 From: zhang1106 <849185023@qq.com> Date: Thu, 5 Feb 2026 11:15:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=88=9D=E5=A7=8B=E5=8C=96=E8=84=9A=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E5=87=BAinitDefaultSettings=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/routes/systemSettings.js | 1 + backend/scripts/init-database.js | 34 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 backend/scripts/init-database.js diff --git a/backend/routes/systemSettings.js b/backend/routes/systemSettings.js index b0ddc81..0645fa0 100644 --- a/backend/routes/systemSettings.js +++ b/backend/routes/systemSettings.js @@ -594,3 +594,4 @@ router.get('/frontend/status', async (req, res) => { }); module.exports = router; +module.exports.initDefaultSettings = initDefaultSettings; diff --git a/backend/scripts/init-database.js b/backend/scripts/init-database.js new file mode 100644 index 0000000..92d2df8 --- /dev/null +++ b/backend/scripts/init-database.js @@ -0,0 +1,34 @@ +/** + * 数据库初始化脚本 + * 用于生产环境首次部署时创建表结构 + */ + +const { sequelize } = require('../db'); +const SystemSetting = require('../models/SystemSetting'); + +async function initDatabase() { + try { + console.log('开始初始化数据库...'); + + // 测试数据库连接 + await sequelize.authenticate(); + console.log('数据库连接成功'); + + // 同步所有模型 + await sequelize.sync({ force: false, alter: true }); + console.log('数据库表结构同步完成'); + + // 初始化默认系统设置 + const { initDefaultSettings } = require('../routes/systemSettings'); + await initDefaultSettings(); + console.log('默认系统设置初始化完成'); + + console.log('数据库初始化完成!'); + process.exit(0); + } catch (error) { + console.error('数据库初始化失败:', error); + process.exit(1); + } +} + +initDatabase();