diff --git a/lib/adapters/redis.js b/lib/adapters/redis.js index c416c34b..7c005770 100644 --- a/lib/adapters/redis.js +++ b/lib/adapters/redis.js @@ -27,7 +27,21 @@ exports.initialize = function initializeSchema(schema, callback) { schema.settings.options ); schema.client.auth(schema.settings.password); - schema.client.on('connect', callback); + var callbackCalled = false; + var database = schema.settings.hasOwnProperty('database') && schema.settings.database; + schema.client.on('connect', function () { + if (!callbackCalled && database === false) { + callbackCalled = true; + callback(); + } else if (database !== false) { + if (callbackCalled) { + return schema.client.select(schema.settings.database); + } else { + callbackCalled = true; + return schema.client.select(schema.settings.database, cb); + } + } + }); schema.adapter = new BridgeToRedis(schema.client); };