Single step batch delete in Ruby on Rails

batch-file, rake-task, ruby-on-rails, sql

Solution

ActiveRecord has the `delete_all` method for you. Note that it does not call the destroy callbacks. http://api.rubyonrails.org/classes/ActiveRecord/Relation.html#method-i-delete_all

Problem

How to send such a query to database server from Rake task without removing record-by-record in "each" loop? ``` delete from data where uuid in ( select uuid from data group by uuid, raw, recdate having count(*)>1 ); ```

Original source