feat(db): add TypeORM migration workflow for center and guild

This commit is contained in:
nav
2026-05-12 12:32:44 +00:00
parent 1b568757cb
commit 07d8b20f57
7 changed files with 41 additions and 3 deletions

View File

@@ -11,7 +11,10 @@
"lint:fix": "eslint 'src/**/*.ts' --fix",
"format": "prettier --write 'src/**/*.ts'",
"test:unit": "vitest run src/**/*.spec.ts --exclude src/*.integration.spec.ts --exclude dist/**",
"test:integration": "vitest run src/*.integration.spec.ts --exclude dist/**"
"test:integration": "vitest run src/*.integration.spec.ts --exclude dist/**",
"migration:generate": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:generate src/migrations/AutoMigration -d src/data-source.ts",
"migration:run": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:run -d src/data-source.ts",
"migration:revert": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:revert -d src/data-source.ts"
},
"dependencies": {
"@nestjs/common": "^10.4.8",

View File

@@ -0,0 +1,16 @@
import 'reflect-metadata';
import { DataSource, DataSourceOptions } from 'typeorm';
import { buildTypeOrmConfig } from './database.config';
const cfg = buildTypeOrmConfig();
const options: DataSourceOptions = {
...(cfg as Record<string, unknown>),
type: 'mysql',
migrations: ['src/migrations/*.{ts,js}'],
synchronize: false,
} as DataSourceOptions;
export const AppDataSource = new DataSource(options);
export default AppDataSource;