SequelizeJs是否可以为多个连接定义模型。我的意思是我想用几个MySQL用户来查询我的数据库。
这是我想要的一个例子。让我们从连接定义
开始var user1 = new Sequelize('database', 'user1', 'pwd1', {
host: "my.server.tld",
port: 12345
})
var user2 = new Sequelize('database', 'user2', 'pwd2', {
host: "my.server.tld",
port: 12345
})
但是现在如果我有一个动态数量的用户,我可以将每个连接存储在一个数组中
var user = [];
for(var myUser in myUsers) {
user.push(
new Sequelize('database', myUser.username, myUser.pwd, {
host: "my.server.tld",
port: 12345
})
)
}
那么,如果我想声明我的模型,我必须在每个连接上建立一个循环来为每个连接声明我的模型?
无法声明我的模型没有链接到我的连接,然后指定在查询数据库时使用哪个连接?
答案 0 :(得分:0)
当您查询应该使用哪个连接时,无法告诉sequelize。但是,您不必为每个连接定义模型,您只需为每个连接导入它
// models/user.js
module.exports = function (sequelize, DataTypes) {
return sequelize.define ...
}
然后,对于用户阵列中的每个连接,您可以执行connection.import('./models/user.js')
并在某处存储该特定连接的模型版本,或使用connection.model(name)
为每个特定连接获取模型你需要它的时间。 https://github.com/sequelize/sequelize/wiki/API-Reference-Sequelize#model
答案 1 :(得分:0)
在我的理解中,这可以帮助你,也许read-replication