feat: Docker Compose deployment + auto migration on startup
- docker-compose.yml: 移除 MySQL 容器,连宿主机 MySQL - main.ts: 启动前通过独立 DataSource 执行 runMigrations - migration-runner.ts: 独立 migration 执行器 - app.module.ts: TypeORM 配置增加 migrations - 修复 InitialSchema 中 room_expenses 和 financial_operations 重复索引
This commit is contained in:
@@ -50,6 +50,8 @@ import {
|
||||
FinancialOperation,
|
||||
} from './entities';
|
||||
import { AuthModule } from './auth/auth.module';
|
||||
import { InitialSchema1784520727860 } from './migrations/1784520727860-InitialSchema';
|
||||
const allMigrations = [InitialSchema1784520727860];
|
||||
import { AuthorizationModule } from './authorization';
|
||||
import { RbacModule } from './rbac/rbac.module';
|
||||
import { StudentsModule } from './students/students.module';
|
||||
@@ -158,6 +160,7 @@ import { IntegrationConfigModule } from './integration/config/config.module';
|
||||
password: config.get<string>('DB_PASSWORD', ''),
|
||||
database: config.get<string>('DB_DATABASE', 'dorm_billing'),
|
||||
entities: allEntities,
|
||||
migrations: allMigrations,
|
||||
synchronize: config.get('DB_SYNCHRONIZE', 'true') !== 'false',
|
||||
charset: 'utf8mb4',
|
||||
};
|
||||
@@ -165,6 +168,7 @@ import { IntegrationConfigModule } from './integration/config/config.module';
|
||||
return {
|
||||
type: 'better-sqlite3' as const,
|
||||
database: config.get<string>('DB_DATABASE', 'dorm_billing.db'),
|
||||
migrations: allMigrations,
|
||||
entities: allEntities,
|
||||
synchronize: config.get('DB_SYNCHRONIZE', 'true') !== 'false',
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user