ruby-on-rails - 在 seeds.db 中创建或更新记录

标签 ruby-on-rails ruby-on-rails-4 rake

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

解决这个问题的正确方法是什么?我应该创建一个单独的 rake 任务还是什么?我是否应该在 seeds.db 文件中包含 if exists, update 逻辑?

最佳答案

您可以使用与此问题类似的内容 - create_or_update method in rails

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

关于ruby-on-rails - 在 seeds.db 中创建或更新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20915191/

相关文章:

ruby - 当任务使用 `args` 而不是 `execute` 运行时,为什么 `invoke` 不是 Rake::TaskArguments 的实例?

ruby - 如何检测 rake 是否指定了 --quiet 选项

ruby-on-rails - 在 Rails 上请求跟踪器?

css - ruby rails : adding css dynamically when rendering different partials

ruby-on-rails - 嵌套资源共享同一个 Controller

ruby-on-rails - Rails 4 turbolinks 与谷歌分析

ruby-on-rails - Rake 任务不是从 worker 中运行

ruby-on-rails - Rails 自定义电子邮件验证器 |黑名单

javascript - 通过JS调用flash通知

ruby-on-rails - 与没有 Ajax 或 jQuery on Rails 的情况类似/不同