Vous devez créer différentes instances de sequelize pour chaque connexion à la base de données que vous souhaitez créer :
const Sequelize = require('Sequelize');
const userDb = new Sequelize(/* ... */);
const contentDb = new Sequelize(/* ... */);
Chaque instance créée à partir de sequelize a ses propres informations de base de données (hôte de base de données, url, utilisateur, passe, etc...) , et ces valeurs ne sont pas censées être modifiées, il n'y a donc pas de moyen "correct" de créer plusieurs connexions avec une instance de sequelize.
Une instance par base de données
Une approche "courante" pour ce faire est d'avoir vos bases de données dans un config.json
file et faites une boucle dessus pour créer des connexions de manière dynamique, quelque chose comme ceci peut-être :
config.json
{
/*...*/
databases: {
user: {
path: 'xxxxxxxx'
},
content: {
path: 'xxxxxxxx'
}
}
}
Votre application
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
Vous devrez faire un peu plus de codage pour le rendre opérationnel, mais c'est une idée générale.