If you need to delete a lot of records quickly, ActiveRecord gives .delete_all
method. to be called directly on a model, to delete all records in that table, or a collection. Beware though, as .delete_all
does not instantiate any object hence does not provide any callback (before_*
and after_destroy
don't get triggered).
User.delete_all
#=> 39 <-- .delete_all return the number of rows deleted
User.where(name: "John").delete_all