summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/post_migrate/20180604123514_cleanup_stages_position_migration.rb8
-rw-r--r--spec/migrations/cleanup_stages_position_migration_spec.rb4
2 files changed, 6 insertions, 6 deletions
diff --git a/db/post_migrate/20180604123514_cleanup_stages_position_migration.rb b/db/post_migrate/20180604123514_cleanup_stages_position_migration.rb
index 3adff218552..c09e08b19a3 100644
--- a/db/post_migrate/20180604123514_cleanup_stages_position_migration.rb
+++ b/db/post_migrate/20180604123514_cleanup_stages_position_migration.rb
@@ -20,10 +20,10 @@ class CleanupStagesPositionMigration < ActiveRecord::Migration
add_concurrent_index(:ci_stages, :id, where: 'position IS NULL', name: TMP_INDEX_NAME)
end
- Stages.where('position is NULL').each_batch(of: 500) do |batch|
- range = batch.pluck('MIN(id)', 'MAX(id)').first
-
- Gitlab::BackgroundMigration::MigrateStageIndex.new.perform(*range)
+ Stages.where('position is NULL').each_batch(of: 1000) do |batch|
+ batch.select(:id).each do |stage|
+ Gitlab::BackgroundMigration::MigrateStageIndex.new.perform(stage.id, stage.id)
+ end
end
remove_concurrent_index_by_name(:ci_stages, TMP_INDEX_NAME)
diff --git a/spec/migrations/cleanup_stages_position_migration_spec.rb b/spec/migrations/cleanup_stages_position_migration_spec.rb
index 2f7d3e22bd7..221e2dd30dc 100644
--- a/spec/migrations/cleanup_stages_position_migration_spec.rb
+++ b/spec/migrations/cleanup_stages_position_migration_spec.rb
@@ -43,12 +43,12 @@ describe CleanupStagesPositionMigration, :migration, :sidekiq, :redis do
stages.update_all(position: nil)
end
- it 'migrates stages sequentially in batches' do
+ it 'migrates stages sequentially for every stage' do
expect(stages.all).to all(have_attributes(position: nil))
migrate!
- expect(migration).to have_received(:perform).once
+ expect(migration).to have_received(:perform).twice
end
end
end