重置数据库,从数据库中删除seeds.rb数据

时间:2015-04-23 05:52:54

标签: ruby-on-rails ruby-on-rails-2

如何从数据库中删除seeds.rb数据,我在seeds.rb中添加了一些数据,即使我改变了,它也无法工作!!!,如何删除数据库中存在的数据,这是通过 seeds.rb 文件?

1 个答案:

答案 0 :(得分:0)

如果数据库中只有来自seed.rb文件的数据,则应在更新seed.rb文件后再次键入rake db:seed。

在创建此模型的新记录之前添加行:ModelName.delete_all

但是,如果您的数据库中有其他数据,则可以选择以下解决方案之一:

  • 使用sql查询手动删除数据
  • 在创建记录行之前,添加删除它们的行。例如:

    MyModel.where(name: "Foo").destroy_all
    MyModel.create(name: "Foo")
    
  • 在seed.rb文件中使用env变量来切换模式:

    if ENV['seedmode'] == 'removedata'
      #add removing code here
    else
      #here should be normal seed code
    

然后只需运行seedmode='removedata' rake db:seed