首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否可以在每次请求时更改数据库(Sails.js)

我是否可以在每次请求时更改数据库(Sails.js)
EN

Stack Overflow用户
提问于 2016-04-07 17:57:44
回答 1查看 97关注 0票数 0

我在迁移到Node.js的过程中有一些PHP脚本。我正在使用Sails.js来实现这一点,我想知道如何根据请求参数更改每个请求的数据库。

目前我有3-4个相同的PostgreSQL数据库。这么说吧,每个数据库对应一个不同的客户端。

下面是建立数据库连接的当前PHP脚本的一段:

代码语言:javascript
复制
$database = $_GET['db'];
$conn_details = "host=localhost port=5432 dbname=$database user=****** password=******";
$dbconn = pg_connect($conn_details);

在这里,您可以看到数据库名称来自请求参数"db“。

我希望在我的sails.js控制器中有类似的功能。我知道我可以在connections.js中声明多个数据库,我可以让模型使用不同的数据库,但我所追求的是模型保持不变,并且只根据每个请求更改数据库。

我发现了两个类似的问题,但它们都在相当长的一段时间内没有得到回答。(Herehere)

EN

回答 1

Stack Overflow用户

发布于 2016-04-07 19:03:10

我想你在找一些像sub这样的东西

sails-hook-subapps

但它只是个实验模块。所以我不建议在生产环境中使用它。其他选择也不好,就是像这样成倍增加你的模型:

  • 一个包含所有方法、属性和“填充”的主模型
  • 许多带有连接配置的模型

在“parent”模型中,您将选择要将发送操作发送到的模型。例如write方法:

代码语言:javascript
复制
getModel: function(dbName){
     return models[dbName];
}

在models对象中,您将存储具有不同连接的所有模型。不确定验证器在这种情况下是如何工作的。如果不需要,您需要测试是否在子模型中执行类似的操作

代码语言:javascript
复制
attributes: parentModel.attributes
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36472693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档