Files
gitlabhq/lib/gitlab/background_migration/update_closed_merged_mrs.rb
2025-03-11 00:12:47 +00:00

32 lines
1.0 KiB
Ruby

# frozen_string_literal: true
# See https://docs.gitlab.com/ee/development/database/batched_background_migrations.html
# for more information on how to use batched background migrations
# Update below commented lines with appropriate values.
module Gitlab
module BackgroundMigration
class UpdateClosedMergedMrs < BatchedMigrationJob
START_DATE = DateTime.parse("2024-12-19")
END_DATE = DateTime.parse("2024-12-21")
CLOSED = 2 # ::MergeRequest.available_states[:closed]
MERGED = 3 # ::MergeRequest.available_states[:merged]
operation_name :update_closed_merged_mrs
feature_category :code_review_workflow
def perform
each_sub_batch do |sub_batch|
sub_batch
.where(state_id: CLOSED).where(updated_at: START_DATE..END_DATE)
.joins("JOIN merge_request_metrics ON (merge_requests.id = merge_request_metrics.merge_request_id)")
.where.not(merge_request_metrics: { merged_at: nil })
.update_all(state_id: MERGED)
end
end
end
end
end