Skip to content

Commit 5dc66fd

Browse files
committed
Merge pull request #139 from jamiechapman/master
Added multi-app support in DatabaseAdapter.js
2 parents 5216c93 + 40bfc4a commit 5dc66fd

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

DatabaseAdapter.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var adapter = ExportAdapter;
2020
var cache = require('./cache');
2121
var dbConnections = {};
2222
var databaseURI = 'mongodb://localhost:27017/parse';
23+
var appDatabaseURIs = {};
2324

2425
function setAdapter(databaseAdapter) {
2526
adapter = databaseAdapter;
@@ -29,11 +30,17 @@ function setDatabaseURI(uri) {
2930
databaseURI = uri;
3031
}
3132

33+
function setAppDatabaseURI(appId, uri) {
34+
appDatabaseURIs[appId] = uri;
35+
}
36+
3237
function getDatabaseConnection(appId) {
3338
if (dbConnections[appId]) {
3439
return dbConnections[appId];
3540
}
36-
dbConnections[appId] = new adapter(databaseURI, {
41+
42+
var dbURI = (appDatabaseURIs[appId] ? appDatabaseURIs[appId] : databaseURI);
43+
dbConnections[appId] = new adapter(dbURI, {
3744
collectionPrefix: cache.apps[appId]['collectionPrefix']
3845
});
3946
dbConnections[appId].connect();
@@ -44,5 +51,6 @@ module.exports = {
4451
dbConnections: dbConnections,
4552
getDatabaseConnection: getDatabaseConnection,
4653
setAdapter: setAdapter,
47-
setDatabaseURI: setDatabaseURI
54+
setDatabaseURI: setDatabaseURI,
55+
setAppDatabaseURI: setAppDatabaseURI
4856
};

index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ function ParseServer(args) {
4747
FilesAdapter.setAdapter(args.filesAdapter);
4848
}
4949
if (args.databaseURI) {
50-
DatabaseAdapter.setDatabaseURI(args.databaseURI);
50+
DatabaseAdapter.setAppDatabaseURI(args.appId, args.databaseURI);
5151
}
5252
if (args.cloud) {
5353
addParseCloud();

0 commit comments

Comments
 (0)