node.js - 使用 sails.js 和 sails-postgresql 的数据库模式

标签 node.js postgresql sails.js waterline

有什么方法可以使用 sails-postgresql waterline 适配器设置数据库模式吗?

默认情况下,postgres 适配器总是选择数据库中的默认公共(public)模式,但我想将它连接到另一个模式。

例如,我有数据库开发,数据库开发中有模式测试,模式测试中有表用户。 现在我想从表用户中选择所有数据,在sql语法中我可以简单地写:

SELECT * FROM test.users

如何让它在 sails 中工作?

当我编写一个使用 postgres 适配器的模型时,方法 Users.find() 将在默认公共(public)模式中查找表 users。我想更改它以在不与我的 postgres 数据库交互的情况下查看模式测试。

这可能吗?

最佳答案

虽然目前还没有文档,但有人支持这一点。您可以使用 meta.schemaName 属性为模型设置模式名称,例如:

module.exports = {

  tableName: 'users',
  meta: {
     schemaName: 'test'
  },

  attributes: {
     ...
  }

};

更新

事实证明,此功能在多个版本中基本上已被破坏,但已在 Sails-Postgresql v0.11.0 中进行了改进和发布。语法与上面相同。主要警告是它不能与多个共享相同 tableName 的 Waterline 模型一起使用。

关于node.js - 使用 sails.js 和 sails-postgresql 的数据库模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24380902/

相关文章:

javascript - knex.js - 读取然后更新会引发错误

node.js - child_process.execSync 返回的缓冲区不完整

postgresql - Heroku 页面 :psql stalls out

PostgreSQL 9.5 : Skip first two lines in the text file

image - 上载之前,SailsJS(beta)图像中的船长会调整大小

node.js - 访问文件夹内的文件,该文件夹位于 sails js(node js 框架)的 config 文件夹内

javascript - 使用 Stripe 接受在线支付

node.js - Waterline-OrientDB - 双向边缘

sql - 用于更新下游源的数据库模式?

node.js - Sails 在 get-parameters 上给出 404 "."