Rails5在find_in_batches添加finish选项

这篇博客是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.

你可能感兴趣的:(Rails5在find_in_batches添加finish选项)