Anda perlu membuat instance sekuel yang berbeda untuk setiap koneksi DB yang ingin Anda buat:
const Sequelize = require('Sequelize');
const userDb = new Sequelize(/* ... */);
const contentDb = new Sequelize(/* ... */);
Setiap instance yang dibuat dari sekuel memiliki info DB sendiri (host db, url, pengguna, pass, dll...) , dan nilai-nilai ini tidak dimaksudkan untuk diubah, jadi tidak ada cara yang "benar" untuk membuat banyak koneksi dengan satu instance sekuel.
Satu instance per database
Pendekatan "umum" untuk melakukan ini, adalah menempatkan database Anda di config.json
file dan ulangi untuk membuat koneksi secara dinamis, mungkin seperti ini:
config.json
{
/*...*/
databases: {
user: {
path: 'xxxxxxxx'
},
content: {
path: 'xxxxxxxx'
}
}
}
Aplikasi Anda
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
Anda perlu melakukan sedikit lebih banyak pengkodean untuk memulai dan menjalankannya, tetapi ini adalah ide umum.