From 6db0e69c7737450095dd8ad26eec143f8ecff2b6 Mon Sep 17 00:00:00 2001 From: zhang1106 <849185023@qq.com> Date: Thu, 5 Mar 2026 10:13:02 +0800 Subject: [PATCH] =?UTF-8?q?refactor(scripts):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=84=9A=E6=9C=AC=E7=9A=84=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E5=8A=A0=E8=BD=BD=E5=92=8C=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E6=96=B9=E8=A8=80=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/scripts/migrate-all.js | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/backend/scripts/migrate-all.js b/backend/scripts/migrate-all.js index ea41f89..3e90c7d 100644 --- a/backend/scripts/migrate-all.js +++ b/backend/scripts/migrate-all.js @@ -5,7 +5,24 @@ * 支持 SQLite 和 MySQL */ -const { sequelize, DB_TYPE } = require('../db'); +// 必须在最前面加载环境变量 +const path = require('path'); +const envPath = path.join(__dirname, '../.env'); +console.log(`加载环境变量文件: ${envPath}`); +require('dotenv').config({ path: envPath }); + +console.log('环境变量检查:'); +console.log(` DB_TYPE: ${process.env.DB_TYPE}`); +console.log(` MYSQL_HOST: ${process.env.MYSQL_HOST}`); +console.log(` MYSQL_DATABASE: ${process.env.MYSQL_DATABASE}`); +console.log(` MYSQL_USERNAME: ${process.env.MYSQL_USERNAME}`); + +const { sequelize, DB_TYPE, dbDialect } = require('../db'); + +console.log(`\n数据库连接信息:`); +console.log(` DB_TYPE (from env): ${DB_TYPE}`); +console.log(` dbDialect (actual): ${dbDialect}`); +console.log(` sequelize.getDialect(): ${sequelize.getDialect()}`); const migrations = [ { @@ -355,8 +372,7 @@ async function migrateConsumableLogArchive() { } }); - const dialect = sequelize.getDialect(); - if (dialect === 'sqlite') { + if (dbDialect === 'sqlite') { await sequelize.query(`CREATE INDEX idx_archive_consumable_id ON consumable_log_archives(consumableId)`); await sequelize.query(`CREATE INDEX idx_archive_archive_id ON consumable_log_archives(archiveId)`); await sequelize.query(`CREATE INDEX idx_archive_deleted_at ON consumable_log_archives(deletedAt)`); @@ -364,12 +380,11 @@ async function migrateConsumableLogArchive() { } async function migrateSnList() { - const dialect = sequelize.getDialect(); const tables = ['consumables', 'consumable_records', 'consumable_logs']; for (const table of tables) { if (await tableExists(table)) { - const columnDef = dialect === 'sqlite' ? "TEXT DEFAULT '[]'" : "JSON DEFAULT '[]'"; + const columnDef = dbDialect === 'sqlite' ? "TEXT DEFAULT '[]'" : "JSON DEFAULT '[]'"; await addColumnIfNotExists(table, 'snList', columnDef); } else { console.log(` ${table} 表不存在,跳过`);