Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Sekuel:Menggunakan Banyak Basis Data

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.

Dari dokumen mereka :

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pekerjaan untuk menghapus baris yang lebih lama dari 3 bulan di database mysql

  2. Mysql pilih * dari tidak mengembalikan semua baris

  3. bagaimana cara menambahkan hak super ke database mysql?

  4. Menyusun Stack - Menyederhanakan Deployment Docker dari MySQL Containers

  5. Apa yang dikatakan standar SQL tentang tanda kurung dalam pernyataan SQL UNION/EXCEPT/INTERSECT?