创建或更新种子.db中的记录



在我的生产数据库中,我不想删除所有信息,但我确实想使用我的种子.db文件更新现有行的一些字段(我添加了一个新列)。

正确的

方法是什么?我应该创建一个单独的耙子任务还是什么?我应该在我的种子.db文件中if exists, update逻辑吗?

您可以使用

类似于此问题的内容 - create_or_update 导轨中的方法

然后编写 seeds.rb 以使用update_or_create,而不仅仅是创建记录。这样,您可以简单地重新运行种子数据来刷新数据库?

有不同的方法可以管理这种情况。

如果您只想复制数据库的某些列,那么种子文件或 rake 任务就足够了。

此外

Model.find_or_create_by_field("XXXXX")将做到这一点。

如果您希望将整个数据库复制到生产环境中,我会使用 taps gem(观看此 railscast http://railscasts.com/episodes/342-migrating-to-postgresql),或者如果您要部署到 heroku 就像 heroku pg:pull 一样简单

最新更新