From b2a76fc6dccefb41fdd74da2a72097d75514819e Mon Sep 17 00:00:00 2001
From: stevereis <stevereis93@gmail.com>
Date: Wed, 14 Sep 2022 10:49:26 +0200
Subject: [PATCH] fix(typeorm): Config issue after Typeorm update

---
 api/ormconfig.ts            | 10 ++++++----
 api/package.json            |  4 ++--
 api/src/config/db.config.ts |  4 +++-
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/api/ormconfig.ts b/api/ormconfig.ts
index c4d8d9f..adf2b5e 100644
--- a/api/ormconfig.ts
+++ b/api/ormconfig.ts
@@ -1,4 +1,5 @@
 import { ConfigModule } from '@nestjs/config';
+import { DataSource } from 'typeorm';
 import dbConfiguration from './src/config/db.config';
 
 ConfigModule.forRoot({
@@ -12,9 +13,10 @@ const ormconfig = {
   entities: ['dist/**/*.entity.js', 'dist/**/*.model.js'],
   migrations: ['dist/migrations/*{.ts,.js}'],
   migrationsRun: false,
-  cli: {
-    migrationsDir: 'src/migrations',
-  },
 };
 
-export default ormconfig;
+const connSource = new DataSource(ormconfig);
+
+connSource.initialize();
+
+export default connSource;
diff --git a/api/package.json b/api/package.json
index 9675ece..f7fc1f2 100644
--- a/api/package.json
+++ b/api/package.json
@@ -22,8 +22,8 @@
     "test:we2e": "jest --watch --config ./test/jest.e2e-config.ts",
     "prepare": "cd .. && husky install api/.husky",
     "typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js",
-    "typeorm:migration:generate": "npm run typeorm -- migration:generate -n",
-    "typeorm:migration:run": "npm run typeorm -- migration:run"
+    "typeorm:migration:generate": "npm run typeorm -- migration:generate -d ormconfig.ts",
+    "typeorm:migration:run": "npm run typeorm -- migration:run -d ormconfig.ts"
   },
   "dependencies": {
     "@nestjs/apollo": "^10.0.22",
diff --git a/api/src/config/db.config.ts b/api/src/config/db.config.ts
index 346dbff..5203c3f 100644
--- a/api/src/config/db.config.ts
+++ b/api/src/config/db.config.ts
@@ -1,6 +1,7 @@
 import { registerAs } from '@nestjs/config';
+import { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions';
 
-export default registerAs('database', () => {
+export default registerAs('database', (): PostgresConnectionOptions => {
   return {
     type: 'postgres',
     host: process.env.DB_HOST || 'localhost',
@@ -8,5 +9,6 @@ export default registerAs('database', () => {
     username: process.env.DB_USERNAME || 'postgres',
     password: process.env.DB_PASSWORD || 'pass123',
     database: process.env.DB_NAME || 'postgres',
+    synchronize: process.env.NODE_ENV === 'development',
   };
 });
-- 
GitLab