我正在编写耙子任务,以填充"产品"对象记录。我目前的逻辑是
namespace :populate_product do
desc "This task is to populate product object, with product ID"
task populate_coaching_product_id: :environment do
UserProduct.find_each(batch_size: 10_000) do |user_product|
user_product.save
end
end
end
现在,在上述查询中,我想获取从现在起90天后创建的记录。如何更改上述查询?
ref此
之类的东西 Person.where("age > 21").find_in_batches do |group|
sleep(50) # Make sure it doesn't get too crowded in there!
group.each { |person| person.party_all_night! }
end
用于90天后创建的记录
UserProduct.where('created_at <= ?', Time.now - 90.days ).find_each(batch_size: 10000) do |user_product|
user_product.save
end
您可以尝试:
UserProduct.where('created_at >= ?', Time.now - 90.days ).find_each(batch_size: 10_000) do |user_product|
user_product.save
end
注意:如果您不关心小时;分钟,您可以使用:
Date.today - 90.days
希望这会有所帮助。