Mysql
 sql >> база данни >  >> RDS >> Mysql

Sequelize:Използване на множество бази данни

Трябва да създадете различни екземпляри на sequelize за всяка DB връзка, която искате да създадете:

const Sequelize = require('Sequelize');
const userDb = new Sequelize(/* ... */);
const contentDb = new Sequelize(/* ... */);

Всеки екземпляр, създаден от sequelize, има своя собствена DB информация (db хост, url, потребител, пропуск и т.н...) , и тези стойности не са предназначени за промяна, така че няма „правилен“ начин за създаване на множество връзки с един екземпляр на sequelize.

От техните документи :

Един екземпляр на база данни

"Общ" подход за това е да имате вашите бази данни в config.json файл и го обиколете, за да създадете връзки динамично, нещо като това може би:

config.json

{
    /*...*/
    databases: {
        user: {
            path: 'xxxxxxxx'
        },
        content: {
            path: 'xxxxxxxx'
        }
    }
}

Вашето приложение

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

Ще трябва да направите малко повече кодиране, за да го стартирате и работи, но това е обща идея.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. При игнориране на дублиран ключ?

  2. Не можа да се свърже:Загубена връзка с MySQL сървъра при „четене на първоначален комуникационен пакет“, системна грешка:0

  3. mysql_num_rows():предоставеният аргумент не е валиден ресурс за MySQL резултат

  4. Празни интервали в имената на колони с MySQL

  5. Изсипете mysql база данни в резервно копие на обикновен текст (CSV) от командния ред