使用sails.js和现有的postgres数据库
我正在考虑使用Sails来开发我们正在开发的应用程序。
我正在使用使用waterline orm的sails-postgresql适配器。
我有一个现有的数据库,我想连接到。
如果我使用generate something
创build一个模型
然后在我的模型中,我有
attributes:{ title:{type:'String'} }
如果我浏览本地主机/某些东西,orm删除除了标题之外的something
表中的所有列。
有没有办法阻止它这样做? 这个应用程序不应该删除这个数据库上的列。
谢谢!
我是Sails-Postgresql的作者。 Sails有一个叫做Waterline的ORM,用来pipe理数据。 默认设置假定您想要auto-migrate
数据库以匹配您的模型属性。 由于Postgresql是一个SQL数据库,Sails-Postgresql适配器有一个名为syncable的设置,默认为true。 在Redis之类的NoSQL数据库中这是错误的。
如果要自己pipe理数据库列,这很容易closures。 您可以将migrate: safe
添加到您的模型中,并且在启动Sails时不会尝试更新数据库模式。
module.exports = { adapter: 'postgresql', migrate: 'safe', attributes: { title: { type: 'string' } } };
帆在Rails中没有像迁移一样的东西。 它使用自动迁移来尝试将其从开发过程中移除,然后将生产模式更新为您。