2014-03-13 109 views
1

我想将我的应用程序迁移到sails.js。但是,我在我的PostgreSQL数据库上使用数据库视图来实现一些功能。sails.js是否支持数据库视图?

我尝试为此视图制作一个模型。但是,当我执行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

您可以通过设置migrate财产在使用视图模型使用数据库视图与风帆应用safe

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

这将限制从对视图进行迁移,这意味着帆,如果您向模型添加新的属性,他们将而不是被自动添加到数据库视图。您必须手动将Sails模型和数据库视图保持同步。

+1

这是很好的解决方法来支持数据库视图。如果Sails.js能够正式支持数据库视图,那会更好。 –

+2

可能对晚会有点迟,但我写了一篇关于此的博文,其中包含一个示例项目,网址为http://uhndev.github.io/2015/08/04/using-database-views-with-sailsjs/ – khchan

相关问题