我想将我的应用程序迁移到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是否支持数据库视图,如果支持,是否需要特殊配置?
你可以通过在使用该视图的模型中设置migrate
属性为safe
来使用数据库视图:
module.exports = {
migrate: 'safe',
attributes: {
...
}
}
这将限制Sails在视图上执行迁移,这意味着如果您向模型添加新属性,它们将而不是自动添加到数据库视图。您必须手动保持您的Sails模型和数据库视图同步。