Bạn cần tạo các phiên bản tiếp theo khác nhau cho mỗi kết nối DB mà bạn muốn tạo:
const Sequelize = require('Sequelize');
const userDb = new Sequelize(/* ... */);
const contentDb = new Sequelize(/* ... */);
Mỗi phiên bản được tạo từ phần tiếp theo có thông tin cơ sở dữ liệu riêng (máy chủ db, url, người dùng, thẻ, v.v.) và các giá trị này không có ý nghĩa thay đổi, vì vậy không có cách "chính xác" nào để tạo nhiều kết nối với một phiên bản của phần tiếp theo.
Một phiên bản cho mỗi cơ sở dữ liệu
Cách tiếp cận "phổ biến" để thực hiện việc này, là đặt cơ sở dữ liệu của bạn trong config.json
tệp và lặp qua nó để tạo các kết nối di động, có thể như thế này:
config.json
{
/*...*/
databases: {
user: {
path: 'xxxxxxxx'
},
content: {
path: 'xxxxxxxx'
}
}
}
Ứng dụng của bạn
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
Bạn sẽ cần phải viết thêm một chút nữa để bắt đầu và chạy nó nhưng đó là ý tưởng chung.