Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'db/post_migrate/20220919023208_drop_unused_fields_from_merge_request_assignees.rb')
-rw-r--r--db/post_migrate/20220919023208_drop_unused_fields_from_merge_request_assignees.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/db/post_migrate/20220919023208_drop_unused_fields_from_merge_request_assignees.rb b/db/post_migrate/20220919023208_drop_unused_fields_from_merge_request_assignees.rb
new file mode 100644
index 00000000000..f1afbb41893
--- /dev/null
+++ b/db/post_migrate/20220919023208_drop_unused_fields_from_merge_request_assignees.rb
@@ -0,0 +1,40 @@
+# frozen_string_literal: true
+
+class DropUnusedFieldsFromMergeRequestAssignees < Gitlab::Database::Migration[2.0]
+ disable_ddl_transaction!
+
+ def up
+ with_lock_retries do
+ if column_exists?(:merge_request_assignees, :state) # rubocop:disable Style/IfUnlessModifier
+ remove_column :merge_request_assignees, :state
+ end
+
+ if column_exists?(:merge_request_assignees, :updated_state_by_user_id)
+ remove_column :merge_request_assignees, :updated_state_by_user_id
+ end
+ end
+ end
+
+ def down
+ with_lock_retries do
+ unless column_exists?(:merge_request_assignees, :state)
+ add_column :merge_request_assignees, :state, :smallint, default: 0, null: false
+ end
+
+ unless column_exists?(:merge_request_assignees, :updated_state_by_user_id)
+ add_column :merge_request_assignees, :updated_state_by_user_id, :bigint
+ end
+ end
+
+ add_concurrent_index :merge_request_assignees, [:user_id, :state],
+ where: 'state = 2',
+ name: 'index_on_merge_request_assignees_user_id_and_state'
+
+ add_concurrent_index :merge_request_assignees, :updated_state_by_user_id,
+ name: 'index_on_merge_request_assignees_updated_state_by_user_id'
+
+ add_concurrent_foreign_key :merge_request_assignees, :users,
+ column: :updated_state_by_user_id,
+ on_delete: :nullify
+ end
+end