我是sailsjs的初学者,我有多个数据库,但表结构相同。所以我想为所有这些数据库使用单一模型和控制器。
我知道我们可以像这样设置模型中的连接属性
module.exports = {
connection: 'mysqlServer1',
attributes: {
userid: {
type: 'integer',
primaryKey: true
},
fbid: {
type: 'string'
},
source: {
type: 'string'
}
}
}
};
但是我们怎样才能动态设置连接运行时?
由于
答案 0 :(得分:1)
我知道这已经过时了,但我偶然发现它寻找解决不同问题的方法,我想我会回答。
最简单的方法是设置环境变量并使用默认值。
例如,如果您将MODELA_CONN="mysqlServer1"
放在.bash_profile
中,或者使用export MODELA_CONN="mysqlServer1" && sails lift
这样的导出来提升风帆,那么您可以使用它:
module.exports = {
connection: process.env.MODELA_CONN || "defaultMysql",
...
}
答案 1 :(得分:0)
我担心这还不可能。最接近动态连接的是使用以下npm包https://github.com/sgress454/sails-hook-autoreload。 这将使用更改的连接配置自动重新加载sailjs,而无需再次提升风帆。但它不会在运行时覆盖您的问题。