summaryrefslogtreecommitdiff
path: root/lib/gitlab/background_migration/reset_merge_status.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/background_migration/reset_merge_status.rb')
-rw-r--r--lib/gitlab/background_migration/reset_merge_status.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/gitlab/background_migration/reset_merge_status.rb b/lib/gitlab/background_migration/reset_merge_status.rb
new file mode 100644
index 00000000000..447fec8903c
--- /dev/null
+++ b/lib/gitlab/background_migration/reset_merge_status.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module BackgroundMigration
+ # Updates the range of given MRs to merge_status "unchecked", if they're opened
+ # and mergeable.
+ class ResetMergeStatus
+ def perform(from_id, to_id)
+ relation = MergeRequest.where(id: from_id..to_id,
+ state: 'opened',
+ merge_status: 'can_be_merged')
+
+ relation.update_all(merge_status: 'unchecked')
+ end
+ end
+ end
+end