Skip to content

Commit de7fb60

Browse files
committed
Tie default DB name to database user name
Before, the default database name was tied to the system user name, which differs from the behavior of the native client.
1 parent 3ac356a commit de7fb60

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

Diff for: lib/connection-parameters.js

+10-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ var defaults = require('./defaults')
1313

1414
var parse = require('pg-connection-string').parse // parses a connection string
1515

16-
var val = function (key, config, envVar) {
16+
var val = function (key, config, envVar, computed) {
1717
if (envVar === undefined) {
1818
envVar = process.env[ 'PG' + key.toUpperCase() ]
1919
} else if (envVar === false) {
@@ -22,9 +22,13 @@ var val = function (key, config, envVar) {
2222
envVar = process.env[ envVar ]
2323
}
2424

25+
if (computed === undefined) {
26+
computed = function (key) { return defaults[key] }
27+
}
28+
2529
return config[key] ||
2630
envVar ||
27-
defaults[key]
31+
computed(key)
2832
}
2933

3034
var useSsl = function () {
@@ -50,8 +54,11 @@ var ConnectionParameters = function (config) {
5054
config = Object.assign({}, config, parse(config.connectionString))
5155
}
5256

57+
var dbDefaulting = function () { return this.user || defaults['database'] }
58+
dbDefaulting.bind(this);
59+
5360
this.user = val('user', config)
54-
this.database = val('database', config)
61+
this.database = val('database', config, undefined, dbDefaulting)
5562
this.port = parseInt(val('port', config), 10)
5663
this.host = val('host', config)
5764
this.password = val('password', config)

0 commit comments

Comments
 (0)