db:seed如何对现有种子数据进行操作

时间:2011-09-10 08:42:48

标签: ruby-on-rails

rake db:seed

重新运行种子数据是否会删除现有种子数据,并在修改种子数据时重新创建或添加新记录?

1 个答案:

答案 0 :(得分:3)

运行rake db:seed时,db / seeds.rb仅包含在rails环境中 因此,您的数据库上没有其他任何操作比您提到的要多。

我通常将以下内容放在db / seeds文件的顶部:

Dir['app/models/**/*.rb'].each do |model|
    model_object = model.camelize.constantize
    model_object.delete_all
end

这样,所有先前的种子数据都被删除了,我在开发环境中得到了我想要的全新的正确数据。