From 69fb088b62cad10635a458aa2a1bbad36f4ce876 Mon Sep 17 00:00:00 2001 From: iPromKnight Date: Mon, 5 Feb 2024 15:13:33 +0000 Subject: [PATCH] bring in config change for migrations --- .../consumer/src/lib/models/configuration/database_config.ts | 3 +++ src/node/consumer/src/repository/database_repository.ts | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/node/consumer/src/lib/models/configuration/database_config.ts b/src/node/consumer/src/lib/models/configuration/database_config.ts index fc5e8d3..754cd85 100644 --- a/src/node/consumer/src/lib/models/configuration/database_config.ts +++ b/src/node/consumer/src/lib/models/configuration/database_config.ts @@ -1,9 +1,12 @@ +import {BooleanHelpers} from "../../helpers/boolean_helpers"; + export class DatabaseConfig { public POSTGRES_HOST: string = process.env.POSTGRES_HOST || 'postgres'; public POSTGRES_PORT: number = parseInt(process.env.POSTGRES_PORT || '5432'); public POSTGRES_DB: string = process.env.POSTGRES_DB || 'knightcrawler'; public POSTGRES_USER: string = process.env.POSTGRES_USER || 'postgres'; public POSTGRES_PASSWORD: string = process.env.POSTGRES_PASSWORD || 'postgres'; + public AUTO_CREATE_AND_APPLY_MIGRATIONS : boolean = BooleanHelpers.parseBool(process.env.AUTO_CREATE_AND_APPLY_MIGRATIONS, false); public get POSTGRES_URI() { return `postgres://${this.POSTGRES_USER}:${this.POSTGRES_PASSWORD}@${this.POSTGRES_HOST}:${this.POSTGRES_PORT}/${this.POSTGRES_DB}`; diff --git a/src/node/consumer/src/repository/database_repository.ts b/src/node/consumer/src/repository/database_repository.ts index d6e4455..a1b55d3 100644 --- a/src/node/consumer/src/repository/database_repository.ts +++ b/src/node/consumer/src/repository/database_repository.ts @@ -36,7 +36,7 @@ class DatabaseRepository { try { await this.database.authenticate(); logger.info('Database connection has been established successfully.'); - await this.database.sync({alter: true}); + await this.database.sync({alter: configurationService.databaseConfig.AUTO_CREATE_AND_APPLY_MIGRATIONS}); } catch (error) { logger.error('Failed syncing database: ', error); throw error;