我在迁移到Node.js的过程中有一些PHP脚本。我正在使用Sails.js来实现这一点,我想知道如何根据请求参数更改每个请求的数据库。
目前我有3-4个相同的PostgreSQL数据库。这么说吧,每个数据库对应一个不同的客户端。
下面是建立数据库连接的当前PHP脚本的一段:
$database = $_GET['db'];
$conn_details = "host=localhost port=5432 dbname=$database user=****** password=******";
$dbconn = pg_connect($conn_details);在这里,您可以看到数据库名称来自请求参数"db“。
我希望在我的sails.js控制器中有类似的功能。我知道我可以在connections.js中声明多个数据库,我可以让模型使用不同的数据库,但我所追求的是模型保持不变,并且只根据每个请求更改数据库。
发布于 2016-04-07 19:03:10
我想你在找一些像sub这样的东西
但它只是个实验模块。所以我不建议在生产环境中使用它。其他选择也不好,就是像这样成倍增加你的模型:
在“parent”模型中,您将选择要将发送操作发送到的模型。例如write方法:
getModel: function(dbName){
return models[dbName];
}在models对象中,您将存储具有不同连接的所有模型。不确定验证器在这种情况下是如何工作的。如果不需要,您需要测试是否在子模型中执行类似的操作
attributes: parentModel.attributeshttps://stackoverflow.com/questions/36472693
复制相似问题