这篇博客是Rails5系列的一部分
在Rails4.x里,在find_in_batches方法中有start选项,如下:
Person.find_in_batches(start: 1000, batch_size: 2000) do |group|
group.each { |person| person.party_all_night! }
end
上述代码为Person类提供了批次查询的功能,从主键1000开始查询。
上述代码中并没有主键结束值,这就是说主键大于等于1000都会被查询。
Rails5中引入了finish选项,此选项决定了查询主键值的上限。
Person.find_in_batches(start: 1000, finish: 9500,batch_size: 2000) do |group|
group.each { |person| person.party_all_night! }
上述代码保证了我们的查询范围,主键值不会超过9500.