有没有办法用sails-postgresql水线适配器设置数据库架构?
默认情况下,postgres适配器总是选择数据库中的默认公共模式,但我想将它连接到另一个模式。
例如,我有数据库开发,数据库开发中的模式测试和模式测试中的表用户。 现在我想从表用户中选择所有数据,用sql语法我可以简单地写一下:
SELECT * FROM test.users
如何让它在帆中工作?
当我编写使用postgres适配器的模型时,方法Users.find()将在默认公共模式中查找表用户。我想更改它以查看模式测试,而不与我的postgres数据库交互。
有可能吗?
答案 0 :(得分:3)
虽然它尚未记录,但仍有支持。您可以使用meta.schemaName
属性为模型设置模式名称,例如:
module.exports = {
tableName: 'users',
meta: {
schemaName: 'test'
},
attributes: {
...
}
};
事实证明,这个功能基本上已经破解了几个版本,但它已经在Sails-Postgresql v0.11.0中进行了修改和发布。语法与上面相同。主要的警告是,它将不使用多个共享相同tableName
的Waterline模型。
答案 1 :(得分:0)
在最新的1.0.3版本上似乎有点bug,但是我发现可以通过以下方式完成它:
postgresql: {
adapter: require('sails-postgresql'),
url: 'postgresql://postgres:blablabla@localhost:5432/simplerp',
schemaName: 'radius',
}
在您的config / datastores.js文件上。 和平,出去!