From edeb97133a7295eadd379dd4f2cb2dadcf4c6319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Peveri?= Date: Sat, 2 Mar 2024 19:01:48 +0100 Subject: [PATCH] Auto apply migrations --- src/app.module.ts | 16 ++-------------- .../1706470114726-initialMigration.ts | 0 .../persistence/typeOrm/dataSource.ts | 19 +++++++++++++++++++ 3 files changed, 21 insertions(+), 14 deletions(-) rename {migrations => src/languages/app/migrations}/1706470114726-initialMigration.ts (100%) create mode 100644 src/shared/infrastructure/persistence/typeOrm/dataSource.ts diff --git a/src/app.module.ts b/src/app.module.ts index c15ad6f8..4828580b 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -3,24 +3,12 @@ import { LanguageModule } from './languages/language.module'; import { SharedModule } from './shared/shared.module'; import { ConfigModule } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { entitySchemas } from './shared/_dependencyInjection/entitySchemas'; +import { dataSourceConfig } from './shared/infrastructure/persistence/typeOrm/dataSource'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true }), - TypeOrmModule.forRoot({ - type: 'postgres', - url: process.env.POSTGRESQL_DB_URL, - synchronize: false, - logging: true, - entities: entitySchemas, - subscribers: [], - migrationsRun: true, - autoLoadEntities: false, - logger: 'advanced-console', - migrations: [`${__dirname}../migrations/**/*{.ts,.js}`], - poolSize: 10, - }), + TypeOrmModule.forRoot(dataSourceConfig), SharedModule, LanguageModule, ], diff --git a/migrations/1706470114726-initialMigration.ts b/src/languages/app/migrations/1706470114726-initialMigration.ts similarity index 100% rename from migrations/1706470114726-initialMigration.ts rename to src/languages/app/migrations/1706470114726-initialMigration.ts diff --git a/src/shared/infrastructure/persistence/typeOrm/dataSource.ts b/src/shared/infrastructure/persistence/typeOrm/dataSource.ts new file mode 100644 index 00000000..7460f9eb --- /dev/null +++ b/src/shared/infrastructure/persistence/typeOrm/dataSource.ts @@ -0,0 +1,19 @@ +import { entitySchemas } from '@src/shared/_dependencyInjection/entitySchemas'; +import { DataSource, DataSourceOptions } from 'typeorm'; + +export const dataSourceConfig: DataSourceOptions = { + type: 'postgres', + url: process.env.POSTGRESQL_DB_URL, + synchronize: false, + logging: true, + entities: entitySchemas, + subscribers: [], + migrationsRun: true, + logger: 'advanced-console', + migrations: [`${__dirname}../../../../../languages/app/migrations/**/*{.ts,.js}`], + poolSize: 10, +}; + +const dataSource = new DataSource(dataSourceConfig); + +export default dataSource;