1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
unleash.unleash/lib/dbPool.js

32 lines
937 B
JavaScript
Raw Normal View History

2014-11-14 15:06:53 +01:00
var logger = require('./logger');
var nconf = require('nconf');
var fs = require('fs');
var ini = require('ini');
var knex = require('knex');
2014-10-21 15:28:10 +02:00
2014-11-14 15:06:53 +01:00
function getDatabaseUrl() {
if (process.env.DATABASE_URL) {
logger.info('unleash started with DATABASE_URL');
2014-11-14 15:06:53 +01:00
return process.env.DATABASE_URL;
2014-10-23 14:39:50 +02:00
} else if (nconf.argv().get('databaseini') !== undefined) {
// Finn specific way of delivering env variables
var databaseini = nconf.argv().get('databaseini');
2014-10-21 15:28:10 +02:00
logger.info('unleash started with databaseini: ' + databaseini);
var config = ini.parse(fs.readFileSync(databaseini, 'utf-8'));
2014-11-14 15:06:53 +01:00
return config.DATABASE_URL;
2014-10-21 15:28:10 +02:00
}
2014-10-23 14:39:50 +02:00
throw new Error('please set DATABASE_URL or pass --databaseini');
2014-10-21 15:28:10 +02:00
}
2014-11-14 15:06:53 +01:00
function createDbPool() {
return knex({
client: 'pg',
connection: getDatabaseUrl(),
pool: {min: 2, max: 20}
});
}
module.exports = createDbPool();