35 lines
1.2 KiB
Ruby
35 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class CleanUpMigrateMergeRequestDiffCommitUsers < Gitlab::Database::Migration[1.0]
|
|
def up
|
|
jobs = Gitlab::Database::BackgroundMigrationJob
|
|
.for_migration_class('MigrateMergeRequestDiffCommitUsers')
|
|
.pending
|
|
.to_a
|
|
|
|
return if jobs.empty?
|
|
|
|
say("#{jobs.length} MigrateMergeRequestDiffCommitUsers are still pending")
|
|
|
|
# Normally we don't process background migrations in a regular migration, as
|
|
# this could take a while to complete and thus block a deployment.
|
|
#
|
|
# In this case the jobs have all been processed for GitLab.com at the time
|
|
# of writing. In addition, it's been a few releases since this migration was
|
|
# introduced. As a result, self-hosted instances should have their
|
|
# migrations finished a long time ago.
|
|
#
|
|
# For these reasons we clean up any pending jobs (just in case) before
|
|
# deploying the code. This also allows us to immediately start using the new
|
|
# setup only, instead of having to support both the old and new approach for
|
|
# at least one more release.
|
|
jobs.each do |job|
|
|
Gitlab::BackgroundMigration::MigrateMergeRequestDiffCommitUsers
|
|
.new
|
|
.perform(*job.arguments)
|
|
end
|
|
end
|
|
|
|
def down
|
|
end
|
|
end
|