Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lập trình tự:Sử dụng nhiều cơ sở dữ liệu

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.

Từ tài liệu của họ :

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách đặt thứ tự 1,2,3 không phải 1, 10, 11, 12 trong mySQL

  2. truy vấn mySQL để chọn con

  3. Cài đặt MySQL trên máy Mac

  4. MySQL - Cách tách các giá trị trong các chuỗi đơn bằng cách sử dụng dấu phẩy

  5. Tạo một bảng mới từ việc hợp nhất hai bảng với union