我寫了一個非常強大的遷移,它需要運行多個集合,然後執行一個find_or_intialize_by
我在單個事務中執行此操作,並且需要80多秒才能運行查詢。我想現在嘗試使用find_each
來加快速度。Rails未知鍵::條件。有效的密鑰是::start,:batch_size
ActiveRecord::Base.transaction do
StudentApplication.find_each(:conditions => "force_review is true") do |app|
....
end
end
我得到以下幾點:
== 20160920133013 MoveForceReviewFieldsToCcSubmission: migrating ==============
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
Unknown key: :conditions. Valid keys are: :start, :batch_size/Users/Nexus/Work/prodigy/db/migrate/20160920133013_move_force_review_fields_to_cc_submission.rb:4:in `block in change'
/Users/Nexus/Work/prodigy/db/migrate/20160920133013_move_force_review_fields_to_cc_submission.rb:3:in `change'
/Users/Nexus/.rbenv/versions/2.3.0/bin/bundle:23:in `load'
/Users/Nexus/.rbenv/versions/2.3.0/bin/bundle:23:in `<main>'
ArgumentError: Unknown key: :conditions. Valid keys are: :start, :batch_size
使用find_each
在this tutorial around看,我把它從一個哈希參數,允許您指定要查詢的條件,我想利用在運行find_each
之前過濾結果。
我們使用的是Rails 4.1.14.2
和ruby 2.3.0p0
,現在已經棄用這個選項了嗎?或者我做錯了什麼?