U moet verschillende vervolgversies maken voor elke DB-verbinding die u wilt maken:
const Sequelize = require('Sequelize');
const userDb = new Sequelize(/* ... */);
const contentDb = new Sequelize(/* ... */);
Elke instantie die is gemaakt met sequelize heeft zijn eigen DB-info (db-host, url, gebruiker, pass, enz...) , en het is niet de bedoeling dat deze waarden worden gewijzigd, dus er is geen "juiste" manier om meerdere verbindingen te maken met één instantie van sequelize.
Eén instantie per database
Een "gewone" benadering om dit te doen, is om uw databases in een config.json
. te hebben bestand en loop eroverheen om dinamisch verbindingen te maken, zoiets als dit misschien:
config.json
{
/*...*/
databases: {
user: {
path: 'xxxxxxxx'
},
content: {
path: 'xxxxxxxx'
}
}
}
Uw 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
Je moet wat meer coderen om het aan de gang te krijgen, maar het is een algemeen idee.