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

raf*_*dar 5 postgresql node.js sails.js waterline

有没有办法用sails-postgresql水线适配器设置数据库架构?

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

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

SELECT * FROM test.users
Run Code Online (Sandbox Code Playgroud)

如何使它在帆中工作?

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

可能吗?

sgr*_*454 4

尽管尚未有记录,但对此有支持。您可以使用该属性设置模型的架构名称meta.schemaName,例如:

module.exports = {

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

  attributes: {
     ...
  }

};
Run Code Online (Sandbox Code Playgroud)

更新

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