BartlomiejSkwira
4/5/2018 - 12:05 PM

Rails 3 in batches

in_batches implementation in Rails 3

batch_size = 1000
0.step(Model.count, batch_size).each do |offset|
  model_batch = Model.where('id > ? AND id <= ?', offset, offset + batch_size)
                       .order(:id)
  puts "Updating batch with offset #{offset}. Model count #{model_batch.count}"
  model_batch.select{|m| "some Model condition" }.each do |model|
    model.update_attribute(:attr, "some value")
  end
e