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 || "";