Rails-销毁所有记录

时间:2020-08-16 17:20:18

标签: ruby-on-rails

是否有一种方法可以在不指定模型的情况下在一行中销毁数据库中的所有记录?

说我有三个模型User Picture Post。我可以打电话给User.all.destroy_all,但是可以在不指定模型本身的情况下收集所有记录吗?

1 个答案:

答案 0 :(得分:3)

正如塞巴斯蒂安·帕尔玛(Sebastian Palma)所说,您可以执行瑞克任务rake db:reset,该任务将删除并设置数据库。

或者,您可以获取ActiveRecord的所有后代。如果您处于开发模式,则需要先eager_load。

Rails.application.eager_load!

那你可以做

ActiveRecord.descendants.each(&:destroy_all)

请非常小心!上面的操作将删除数据库表中的所有记录!