skip populating course id in migration if they are all already populated
this query is fast, because there is already an index on the column Change-Id: Iee781570bb897001724d5753a02dbb8b03911619 Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/239478 Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com> Reviewed-by: Simon Williams <simon@instructure.com> QA-Review: Simon Williams <simon@instructure.com> Product-Review: Simon Williams <simon@instructure.com>
This commit is contained in:
parent
965b18fba9
commit
a69b2d18cc
|
@ -3,9 +3,11 @@ class MakeSubmissionCourseIdNotNull < ActiveRecord::Migration[5.2]
|
|||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
Submission.find_ids_in_ranges(:batch_size => 100_000) do |start_at, end_at|
|
||||
next unless Shackles.activate(:slave) { Submission.where(:id => start_at..end_at, :course_id => nil).exists? }
|
||||
DataFixup::PopulateCourseIdOnSubmissions.run(start_at, end_at)
|
||||
if Submission.where(course_id: nil).exists?
|
||||
Submission.find_ids_in_ranges(:batch_size => 100_000) do |start_at, end_at|
|
||||
next unless Shackles.activate(:slave) { Submission.where(:id => start_at..end_at, :course_id => nil).exists? }
|
||||
DataFixup::PopulateCourseIdOnSubmissions.run(start_at, end_at)
|
||||
end
|
||||
end
|
||||
change_column_null(:submissions, :course_id, false)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue