Jus*_*zer 124 ruby database ruby-on-rails ruby-on-rails-3
如何在Ruby on Rails应用程序中删除我的一个数据库表中的所有记录?
Hak*_*onB 237
如果您正在寻找一种没有SQL的方法,您应该可以使用delete_all.
Post.delete_all
Run Code Online (Sandbox Code Playgroud)
或者有标准
Post.delete_all "person_id = 5 AND (category = 'Something' OR category = 'Else')"
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参见此处
删除记录时不先加载它们,这会使它非常快,但会破坏计数器缓存等功能,这取决于删除时要执行的rails代码.
Ken*_*Dev 21
如果你想完全清空数据库而不只是删除附加到它上面的模型,你可以这样做:
rake db:purge
Run Code Online (Sandbox Code Playgroud)
您也可以在测试数据库上执行此操作
rake db:test:purge
Run Code Online (Sandbox Code Playgroud)
如果你的意思是删除所有模型的每个实例,我会使用
ActiveRecord::Base.connection.tables.map(&:classify)
.map{|name| name.constantize if Object.const_defined?(name)}
.compact.each(&:delete_all)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
93010 次 |
最近记录: |