Sie müssen für jede DB-Verbindung, die Sie erstellen möchten, verschiedene Instanzen von sequelize erstellen:
const Sequelize = require('Sequelize');
const userDb = new Sequelize(/* ... */);
const contentDb = new Sequelize(/* ... */);
Jede aus sequelize erstellte Instanz hat ihre eigenen DB-Informationen (DB-Host, URL, Benutzer, Pass usw.) , und diese Werte sollen nicht geändert werden, daher gibt es keine "korrekte" Möglichkeit, mehrere Verbindungen mit einer Instanz von sequelize herzustellen.
Eine Instanz pro Datenbank
Ein "üblicher" Ansatz dafür ist, Ihre Datenbanken in einer config.json
zu haben Datei und Schleife darüber, um Verbindungen dynamisch zu erstellen, etwa so:
config.json
{
/*...*/
databases: {
user: {
path: 'xxxxxxxx'
},
content: {
path: 'xxxxxxxx'
}
}
}
Ihre App
const Sequelize = require('sequelize');
const config = require('./config.json');
// Loop through
const db = {};
const databases = Object.keys(config.databases);
for(let i = 0; i < databases.length; ++i) {
let database = databases[i];
let dbPath = config.databases[database];
db[database] = new Sequelize( dbPath );
}
// Or a one liner
const db = Object.entries(config).reduce((r, db) => (r[db[0]] = db[1].path) && r, {});
// Sequelize instances:
// db.user
// db.content
Sie müssen ein bisschen mehr codieren, um es zum Laufen zu bringen, aber es ist eine allgemeine Idee.