2015-04-23 171 views
2

如何從數據庫中刪除seeds.rb數據,我在seeds.rb中添加了一些數據,即使我改變了,它不工作!!!,如何刪除數據庫中存在的數據,通過seeds.rb文件輸入?重置數據庫,從數據庫中刪除seeds.rb數據

+0

你改變或更新一個或多個數據庫表? – sansarp

+2

檢查[this](http://stackoverflow.com/questions/14955044/undo-previously-seeded-data-in-rails) – Abhi

+1

顯示您的seeds.rd文件 –

回答

0

如果您的數據庫中只有來自seed.rb文件的數據,則應在更新seed.rb文件後再次輸入rake db:seed。

添加行:ModelName.delete_all創建此模型的新記錄之前。

但是,如果你在你的數據庫中的一些其他的數據,你可以選擇以下解決方案之一:

  • 使用SQL查詢
  • 創造紀錄的前行manualy刪除數據,加線,刪除它們。例如:

    在seed.rb文件
    MyModel.where(name: "Foo").destroy_all 
    MyModel.create(name: "Foo") 
    
  • 使用環境變量來切換模式:

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

然後只需運行seedmode='removedata' rake db:seed