Vas*_*rth 2 database rake ruby-on-rails reset
我有表(也许他们没有被称为)用户和帖子.我在Posts表中添加了很多测试帖子(也许它叫做数据库),所以我想把它擦掉.我知道我可以使用rake db:reset但这也会擦除Users表.
有谁知道如何只重置一个特定的表?
你可能最好为此创建一个rake任务.如果你愿意,你甚至可以在'db'中命名它.即rake db:reset_unimportant_models
在那个任务中你可以做类似的事情: ModelName.delete_all
有关delete_all的更多信息,请访问:http://apidock.com/rails/ActiveRecord/Relation/delete_all
有关创建rake任务的更多信息,请访问:http://jasonseifer.com/2010/04/06/rake-tutorial
以下是您可能会做的一个示例:
# lib/tasks/reset_unimportant_models_task.rake
namespace :db do
desc "Sequentially clears out the models I don't care about"
task :reset_unimportant_models => :environment do
puts "Clearing out the BlahModel model"
BlahModel.destroy_all
puts "Finished."
end
end
Run Code Online (Sandbox Code Playgroud)
然后你会这样称呼:
rake db:reset_unimportant_models
当你运行时,你rake -T会看到db:blah任务
虽然我同意创建一个rake任务是更好的解决方案,有时你只是想进入那里并快速清除一些东西.
如果你跑rails console,你可以ModelName.delete_all从那里打电话.
认为这是一个糟糕的替代解决方 :-)
| 归档时间: |
|
| 查看次数: |
3337 次 |
| 最近记录: |