summaryrefslogtreecommitdiff
path: root/lib/gitlab/background_migration/sync_issues_state_id.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/background_migration/sync_issues_state_id.rb')
-rw-r--r--lib/gitlab/background_migration/sync_issues_state_id.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/gitlab/background_migration/sync_issues_state_id.rb b/lib/gitlab/background_migration/sync_issues_state_id.rb
new file mode 100644
index 00000000000..33b997c8533
--- /dev/null
+++ b/lib/gitlab/background_migration/sync_issues_state_id.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+# rubocop:disable Style/Documentation
+
+module Gitlab
+ module BackgroundMigration
+ class SyncIssuesStateId
+ def perform(start_id, end_id)
+ Rails.logger.info("Issues - Populating state_id: #{start_id} - #{end_id}")
+
+ ActiveRecord::Base.connection.execute <<~SQL
+ UPDATE issues
+ SET state_id =
+ CASE state
+ WHEN 'opened' THEN 1
+ WHEN 'closed' THEN 2
+ END
+ WHERE state_id IS NULL
+ AND id BETWEEN #{start_id} AND #{end_id}
+ SQL
+ end
+ end
+ end
+end