Skip to content

Commit

Permalink
edit db_connection file for AWS case
Browse files Browse the repository at this point in the history
related #319
  • Loading branch information
emilyb7 committed Sep 1, 2017
1 parent f52efa5 commit e6d4942
Showing 1 changed file with 25 additions and 13 deletions.
38 changes: 25 additions & 13 deletions server/database/db_connection.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,31 @@ require('env2')('./config.env');

pg.defaults.ssl = true;

if (!process.env.GROW_DB_URL) throw new Error('Environment variable GROW_DB_URL\
must be set');
let options = { max: process.env.DB_MAX_CONNECTIONS || 2, };

const params = url.parse(process.env.GROW_DB_URL);
const [ username, password, ] = params.auth.split(':');

const options = {
user: username,
password: password,
host: params.hostname,
port: params.port,
database: params.pathname.split('/')[1],
max: process.env.DB_MAX_CONNECTIONS || 2,
};
// used for heroku DB
if (process.env.GROW_DB_URL) {
const params = url.parse(process.env.GROW_DB_URL);
const [ username, password, ] = params.auth.split(':');
options = Object.assign(options, {
user: username,
password: password,
host: params.hostname,
port: params.port,
database: params.pathname.split('/')[1],
});
// used for AWS RDS DB
} else if (process.env.RDS_DB_NAME) {
options = Object.assign(options, {
user: process.env.RDS_USERNAME,
password: process.env.RDS_PASSWORD,
host: process.env.RDS_HOSTNAME,
port: process.env.RDS_PORT,
database: process.env.RDS_DB_NAME,
});
// error case
} else {
throw new Error('database credentials must be set');
}

module.exports = new Pool(options);

0 comments on commit e6d4942

Please sign in to comment.