fix DB_URL (#2778)

This commit is contained in:
abcang 2017-05-04 22:53:44 +09:00 committed by Eugen Rochko
parent 93ec05f976
commit 2ceaa88ed0
2 changed files with 24 additions and 10 deletions

View file

@ -2,7 +2,7 @@
# You may set REDIS_URL instead for more advanced options
REDIS_HOST=redis
REDIS_PORT=6379
# You may set DB_URL instead for more advanced options
# You may set DATABASE_URL instead for more advanced options
DB_HOST=db
DB_USER=postgres
DB_NAME=postgres

View file

@ -22,16 +22,30 @@ const dbUrlToConfig = (dbUrl) => {
}
const params = url.parse(dbUrl)
const auth = params.auth ? params.auth.split(':') : []
const config = {}
return {
user: auth[0],
password: auth[1],
host: params.hostname,
port: params.port,
database: params.pathname ? params.pathname.split('/')[1] : null,
ssl: true
if (params.auth) {
[config.user, config.password] = params.auth.split(':')
}
if (params.hostname) {
config.host = params.hostname
}
if (params.port) {
config.port = params.port
}
if (params.pathname) {
config.database = params.params.pathname.split('/')[1]
}
const ssl = params.query && params.query.ssl
if (ssl) {
config.ssl = ssl === 'true' || ssl === '1'
}
return config
}
if (cluster.isMaster) {
@ -70,7 +84,7 @@ if (cluster.isMaster) {
}
const app = express()
const pgPool = new pg.Pool(Object.assign(dbUrlToConfig(process.env.DB_URL), pgConfigs[env]))
const pgPool = new pg.Pool(Object.assign(pgConfigs[env], dbUrlToConfig(process.env.DATABASE_URL)))
const server = http.createServer(app)
const wss = new WebSocket.Server({ server })