如何在带有Sequelize的模型中使用DB的多个连接?

时间:2019-10-08 21:21:18

标签: javascript mysql node.js database sequelize.js

我想在数据库中建立多个连接,但对任何连接使用相同的模型。

我尝试使用单例模式列出配置连接列表,但我不知道如何进行该配置连接

数据库客户端对象

class DatabaseClient {
    constructor(username, password, database) {
        this.username = username;
        this.password = password;
        this.database = database;
        this.host = '127.0.0.1';
        this.dialect = 'mysql';

        this.logging = (log) => {
            console.log(log)
        }
    }
}

与我的应用程序连接的数据库

class DatabasesConnected {
    constructor() {
        this.databases = []
    }

    addDatabase(loginUser, databaseClient) {
        this.databases.push({ loginUser, databaseClient })
        console.log(this.databases);
    }

    getDatabaseByLoginUser(loginUser) {
        const database = this.databases
            .filter(f => f.loginUser === loginUser)[0].databaseClient

        return database;
    }

    getDatabase() {
        return this.databases;
    }

}

module.exports = new DatabasesConnected()

我想当用户登录时,可以使用保存在DatabasesConnected中的连接配置,但是我不知道如何仅使用一种模型进行这些多个连接。

0 个答案:

没有答案