Falls back to SQLite if no environment variables are provided

This commit is contained in:
Julian Reinhardt 2021-11-02 12:22:39 +01:00
parent 3b47decbb0
commit ffe3db8c08

View File

@ -48,9 +48,8 @@ async function createDbConfigFromEnvironment() {
const envMysqlPort = process.env.DB_MYSQL_PORT || null;
const envMysqlUser = process.env.DB_MYSQL_USER || null;
const envMysqlName = process.env.DB_MYSQL_NAME || null;
const envSqliteFile = process.env.DB_SQLITE_FILE || null;
let envSqliteFile = process.env.DB_SQLITE_FILE || null;
if ((envMysqlHost && envMysqlPort && envMysqlUser && envMysqlName) || envSqliteFile) {
const fs = require('fs');
const filename = (process.env.NODE_CONFIG_DIR || './config') + '/' + (process.env.NODE_ENV || 'default') + '.json';
let configData = {};
@ -67,6 +66,11 @@ async function createDbConfigFromEnvironment() {
return;
}
if ((!envMysqlHost || !envMysqlPort || !envMysqlUser || !envMysqlName) && !envSqliteFile){
envSqliteFile = '/data/database.sqlite';
logger.info(`No valid environment variables for database provided, using default SQLite file '${envSqliteFile}'`);
}
if (envMysqlHost && envMysqlPort && envMysqlUser && envMysqlName) {
const newConfig = {
fromEnv: true,
@ -84,7 +88,7 @@ async function createDbConfigFromEnvironment() {
return;
}
logger.info('Generating MySQL db configuration from environment variables');
logger.info('Generating MySQL knex configuration from environment variables');
configData.database = newConfig;
} else {
@ -105,7 +109,7 @@ async function createDbConfigFromEnvironment() {
return;
}
logger.info('Generating Sqlite db configuration from environment variables');
logger.info('Generating SQLite knex configuration');
configData.database = newConfig;
}
@ -115,13 +119,10 @@ async function createDbConfigFromEnvironment() {
logger.error('Could not write db config to config file: ' + filename);
reject(err);
} else {
logger.info('Wrote db configuration to config file: ' + filename);
logger.debug('Wrote db configuration to config file: ' + filename);
resolve();
}
});
} else {
resolve();
}
});
}