sails.js是否支持数据库视图?

时间:2014-03-13 03:22:04

标签: node.js sails.js

我想将我的应用程序迁移到sails.js。但是,我在PostgreSQL数据库上使用数据库视图来获取某些功能。

我尝试为此视图制作模型。但是,当我执行sails lift时,它会导致ORM错误。

error: A hook (`orm`) failed to load!
error: error: relation "homeview" already exists
at Connection.parseE (/home/onlinemad/git/appname2/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:561:11)
at Connection.parseMessage (/home/onlinemad/git/appname2/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:390:17)
at null.<anonymous> (/home/onlinemad/git/appname2/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:92:20)
at Socket.EventEmitter.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:746:14)
at Socket.EventEmitter.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:408:10)
at emitReadable (_stream_readable.js:404:5)
at readableAddChunk (_stream_readable.js:165:9)
at Socket.Readable.push (_stream_readable.js:127:10)

sails.js是否支持数据库视图,如果需要,是否需要特殊配置?

1 个答案:

答案 0 :(得分:2)

您可以使用Sails应用程序使用数据库视图,方法是在使用该视图的模型中将migrate属性设置为safe

module.exports = {
   migrate: 'safe',
   attributes: {
      ...
   }
}

这将限制Sails在视图上执行迁移,这意味着如果向模型添加新属性,它们将自动添加到数据库视图中。您必须手动保持Sails模型和数据库视图同步。