Ruby on Rails中的单步批量删除

Pau*_*aul 8 sql ruby-on-rails batch-file rake-task

如何从Rake任务发送这样的查询到数据库服务器而不删除"每个"循环中的逐个记录?

delete from data
where uuid in (
    select uuid
    from data
    group by uuid, raw, recdate
    having count(*)>1
);
Run Code Online (Sandbox Code Playgroud)

jim*_*orm 8

ActiveRecord有delete_all适合您的方法.请注意,它不会调用destroy回调.http://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-delete_all

  • `.destroy_all`可以做到,但这不是一步批量删除要求的问题. (3认同)