From 6cfae4ebe59b16d289f206154422f037fce1b33f Mon Sep 17 00:00:00 2001 From: Sander Vocke Date: Thu, 3 Sep 2020 16:53:24 +0200 Subject: [PATCH] Fix database config parsing. --- server/knex/get_knex.ts | 24 ++++++++++++++++++++++++ server/knex/knex.ts | 23 ----------------------- server/knexfile.ts | 2 +- server/server.ts | 3 ++- 4 files changed, 27 insertions(+), 25 deletions(-) create mode 100644 server/knex/get_knex.ts delete mode 100644 server/knex/knex.ts diff --git a/server/knex/get_knex.ts b/server/knex/get_knex.ts new file mode 100644 index 0000000..893979d --- /dev/null +++ b/server/knex/get_knex.ts @@ -0,0 +1,24 @@ +const environment = process.env.ENVIRONMENT || 'development' +import config from '../knexfile'; +import Knex from 'knex'; + +export default function get_knex() { + if (!Object.keys(config).includes(environment)) { + throw "No Knex database configuration was found for environment '" + + environment + "'. Please check your configuration."; + } + + var _knex = undefined; + console.log("Using Knex config: ", config[environment]) + + try { + _knex = require('knex')(config[environment]); + } catch (e) { + throw [ + "Failed to initialize Knex database connection with config: " + + JSON.stringify(config[environment]), + e + ]; + } + return _knex; +} \ No newline at end of file diff --git a/server/knex/knex.ts b/server/knex/knex.ts deleted file mode 100644 index cd851c6..0000000 --- a/server/knex/knex.ts +++ /dev/null @@ -1,23 +0,0 @@ -const environment = process.env.ENVIRONMENT || 'development' -import config from '../knexfile'; -import Knex from 'knex'; - -if (!Object.keys(config).includes(environment)) { - throw "No Knex database configuration was found for environment '" + - environment + "'. Please check your configuration."; -} - -var _knex = undefined; - -try { - _knex = require('knex')(config[environment]); -} catch (e) { - throw [ - "Failed to initialize Knex database connection with config: " - + JSON.stringify(config[environment]), - e - ]; -} - -const knex:Knex = _knex; -export default knex; \ No newline at end of file diff --git a/server/knexfile.ts b/server/knexfile.ts index e98aff1..18d26c5 100644 --- a/server/knexfile.ts +++ b/server/knexfile.ts @@ -12,6 +12,6 @@ export default > { // In production, we base the config on an environment // variable setting. - production: process.env.MUDBASE_DB_CONFIG + production: JSON.parse(process.env.MUDBASE_DB_CONFIG || "") }; diff --git a/server/server.ts b/server/server.ts index 97e3f08..dbc4667 100644 --- a/server/server.ts +++ b/server/server.ts @@ -1,10 +1,11 @@ const express = require('express'); -import knex from './knex/knex'; +import get_knex from './knex/get_knex'; import { SetupApp } from './app'; const app = express(); +const knex = get_knex(); knex.migrate.latest().then(() => { const port = process.env.PORT || 5000; const apiBase = process.env.API || "";