将sails.js与现有的postgres数据库一起使用

Sen*_*lez 12 postgresql node.js sails.js waterline sails-postgresql

我正在考虑将Sails用于我们正在开发的应用程序.

我正在使用使用水线orm的sails-postgresql适配器.

我有一个我想连接的现有数据库.

如果我使用创建模型 generate something

然后在我的模型中我有

attributes:{
    title:{type:'String'}
}
Run Code Online (Sandbox Code Playgroud)

如果我浏览到localhost/something,orm将删除something表中除title之外的所有列.

有没有办法阻止它这样做?此应用程序不应删除此数据库上的列.

谢谢!

par*_*ana 26

我是Sails-Postgresql的作者.Sails有一个名为Waterline的ORM,用于管理数据.默认设置假定您希望auto-migrate数据库与模型属性匹配.因为Postgresql是一个SQL数据库,所以Sails-Postgresql适配器有一个名为syncable的设置,默认为true.这在像redis这样的NoSQL数据库中是错误的.

如果您想自己管理数据库列,这很容易关闭.您可以添加migrate: safe到模型中,并且在启动Sails时不会尝试更新数据库模式.

module.exports = {
  adapter: 'postgresql',
  migrate: 'safe',
  attributes: {
    title: { type: 'string' }
  }
};
Run Code Online (Sandbox Code Playgroud)

Sails没有像Rails中的迁移那样的东西.它使用自动迁移尝试从开发过程中删除它,然后将生产模式更新给您.

  • 是否有配置使每个型号都适用? (8认同)
  • 可以更新文档以反映所有各种选项吗?我是帆船的新手,并且一直试图弄清楚如何在过去一小时的大部分时间内在控制器中实际使用模型.谢谢 (4认同)