Ich möchte Multitenancy in meiner Loopback-App implementieren. Im Moment versuche ich, Middleware zu verwenden, um meine Datenquellen neu zu definieren, um auf verschiedene Datenbanken auf meinem mongodb-Server für jede Anfrage zu zeigen, basierend auf der Domäne, die Anfrage. Der Code wird ausgeführt, scheint jedoch die Datenquelle nicht zu ändern. Stattdessen verwendet es immer das in meiner Datei "datasources.json" definierte.Loopback Multitenancy Database Swap
Gerade jetzt, das ist was ich tue. Alle meine Modelle verweisen auf "meine_db" und ich möchte für jeden Mieter eine Datenbank auf meinem mongo-Server haben.
var dataSourceObj = {
my_db:{
url: process.env.MONGOLAB_URI,
connector: "mongodb",
name: "my_db",
database: tenant
}
}
Object.keys(dataSourceObj).forEach(function(dataSource) {
app.dataSources[dataSource].adapter.settings = dataSourceObj[dataSource];
app.dataSources[dataSource].adapter.clientConfig = dataSourceObj[dataSource];
app.dataSources[dataSource].settings = dataSourceObj[dataSource];
app.dataSources[dataSource].connector.settings = dataSourceObj[dataSource];
app.dataSources[dataSource].connector.clientConfig = dataSourceObj[dataSource];
});
Hat jemand irgendwelche Ideen? Ist das eine alberne Art, Multi-Tenancy zu machen?
Danke!
Was ist 'tenant' im Code oben? – jakerella
Haben Sie jemals eine Lösung gefunden? –