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