Do not schedule bg migration when it is not needed

This commit is contained in:
Grzegorz Bizon 2017-07-07 15:50:33 +02:00
parent c467451ea6
commit 320229e12a
2 changed files with 2 additions and 3 deletions

View File

@ -17,7 +17,7 @@ class MigrateStageIdReferenceInBackground < ActiveRecord::Migration
# It will take around 3 days to process 20M ci_builds.
#
def up
Build.all.each_batch(of: BATCH_SIZE) do |relation, index|
Build.where(stage_id: nil).each_batch(of: BATCH_SIZE) do |relation, index|
relation.each_batch(of: RANGE_SIZE) do |relation|
range = relation.pluck('MIN(id)', 'MAX(id)').first

View File

@ -51,8 +51,7 @@ describe MigrateStageIdReferenceInBackground, :migration, :sidekiq do
expect(described_class::MIGRATION).to be_scheduled_migration(2.minutes, 1, 2)
expect(described_class::MIGRATION).to be_scheduled_migration(2.minutes, 3, 3)
expect(described_class::MIGRATION).to be_scheduled_migration(4.minutes, 4, 5)
expect(described_class::MIGRATION).to be_scheduled_migration(4.minutes, 6, 6)
expect(BackgroundMigrationWorker.jobs.size).to eq 4
expect(BackgroundMigrationWorker.jobs.size).to eq 3
end
end
end