summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-09-18 13:47:46 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-09-18 13:47:46 +0200
commit73d31251af6e0574423990836e56350b8ffbea41 (patch)
tree833d13aeb803afb63774a5cdbb4ca5e5cece3f7a /db
parent9106975d3caacdda43ed6c0387d741f6c0795d27 (diff)
downloadgitlab-ce-73d31251af6e0574423990836e56350b8ffbea41.tar.gz
Make sure all stages are migrated after a cleanupbackstage/gb/steal-stages-statuses-migration
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20170912113435_clean_stages_statuses_migration.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/db/migrate/20170912113435_clean_stages_statuses_migration.rb b/db/migrate/20170912113435_clean_stages_statuses_migration.rb
index 31fd240d3dc..fc091d7894e 100644
--- a/db/migrate/20170912113435_clean_stages_statuses_migration.rb
+++ b/db/migrate/20170912113435_clean_stages_statuses_migration.rb
@@ -5,8 +5,19 @@ class CleanStagesStatusesMigration < ActiveRecord::Migration
disable_ddl_transaction!
+ class Stage < ActiveRecord::Base
+ include ::EachBatch
+ self.table_name = 'ci_stages'
+ end
+
def up
Gitlab::BackgroundMigration.steal('MigrateStageStatus')
+
+ Stage.where('status IS NULL').each_batch(of: 50) do |batch|
+ range = batch.pluck('MIN(id)', 'MAX(id)').first
+
+ Gitlab::BackgroundMigration::MigrateStageStatus.new.perform(*range)
+ end
end
def down