summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2019-04-02 08:39:53 +0000
committerSean McGivern <sean@gitlab.com>2019-04-02 08:39:53 +0000
commitf87b7fe3b386962c45e83486634352da544857fb (patch)
tree4c3fc969e0306e9877d22f787e8064126bfdef75 /lib
parent5ddd4f0f0708921ca0c8a9a941cfb4c0fb868b00 (diff)
parentf2b7da4bf507691cffd419d3dd759fcf6311cdd6 (diff)
downloadgitlab-ce-f87b7fe3b386962c45e83486634352da544857fb.tar.gz
Merge branch 'issue_51789_part_1' into 'master'
Migrate issuable states to integer patch 1 of 2 Closes #51789 See merge request gitlab-org/gitlab-ce!25107
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/background_migration/sync_issues_state_id.rb21
-rw-r--r--lib/gitlab/background_migration/sync_merge_requests_state_id.rb23
2 files changed, 44 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..2a0751928b8
--- /dev/null
+++ b/lib/gitlab/background_migration/sync_issues_state_id.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+# rubocop:disable Style/Documentation
+
+module Gitlab
+ module BackgroundMigration
+ class SyncIssuesStateId
+ def perform(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
diff --git a/lib/gitlab/background_migration/sync_merge_requests_state_id.rb b/lib/gitlab/background_migration/sync_merge_requests_state_id.rb
new file mode 100644
index 00000000000..6707e178d8b
--- /dev/null
+++ b/lib/gitlab/background_migration/sync_merge_requests_state_id.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+# rubocop:disable Style/Documentation
+
+module Gitlab
+ module BackgroundMigration
+ class SyncMergeRequestsStateId
+ def perform(start_id, end_id)
+ ActiveRecord::Base.connection.execute <<~SQL
+ UPDATE merge_requests
+ SET state_id =
+ CASE state
+ WHEN 'opened' THEN 1
+ WHEN 'closed' THEN 2
+ WHEN 'merged' THEN 3
+ WHEN 'locked' THEN 4
+ END
+ WHERE state_id IS NULL
+ AND id BETWEEN #{start_id} AND #{end_id}
+ SQL
+ end
+ end
+ end
+end