gitlab-org--gitlab-foss/db/post_migrate/20180212101928_schedule_bui...

21 lines
550 B
Ruby
Raw Normal View History

class ScheduleBuildStageMigration < ActiveRecord::Migration
include Gitlab::Database::MigrationHelpers
DOWNTIME = false
MIGRATION = 'MigrateBuildStage'.freeze
BATCH = 1000
class Build < ActiveRecord::Base
include EachBatch
self.table_name = 'ci_builds'
end
def change
Build.where('stage_id IS NULL').each_batch(of: BATCH) do |builds, index|
builds.pluck(:id).map { |id| [MIGRATION, [id]] }.tap do |migrations|
BackgroundMigrationWorker.bulk_perform_in(index.minutes, migrations)
end
end
end
end