From 87e1710318e75ceb13bb8cd26e17736e5a63a9aa Mon Sep 17 00:00:00 2001
From: Afzal Ansari <afzal442@gmail.com>
Date: Mon, 22 Jan 2024 17:07:21 +0000
Subject: [PATCH] Refactor: Removes index protected environment

---
 ...ndex_protected_environments_on_project_id.rb | 17 +++++++++++++++++
 db/schema_migrations/20240117070119             |  1 +
 db/structure.sql                                |  2 --
 .../helpers/database/duplicate_indexes.yml      |  3 ---
 4 files changed, 18 insertions(+), 5 deletions(-)
 create mode 100644 db/post_migrate/20240117070119_remove_index_protected_environments_on_project_id.rb
 create mode 100644 db/schema_migrations/20240117070119

diff --git a/db/post_migrate/20240117070119_remove_index_protected_environments_on_project_id.rb b/db/post_migrate/20240117070119_remove_index_protected_environments_on_project_id.rb
new file mode 100644
index 0000000000000..dc66a7bb84c06
--- /dev/null
+++ b/db/post_migrate/20240117070119_remove_index_protected_environments_on_project_id.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class RemoveIndexProtectedEnvironmentsOnProjectId < Gitlab::Database::Migration[2.2]
+  disable_ddl_transaction!
+
+  milestone '16.9'
+
+  INDEX_NAME = 'index_protected_environments_on_project_id'
+
+  def up
+    remove_concurrent_index_by_name :protected_environments, name: INDEX_NAME
+  end
+
+  def down
+    add_concurrent_index :protected_environments, :project_id, name: INDEX_NAME
+  end
+end
diff --git a/db/schema_migrations/20240117070119 b/db/schema_migrations/20240117070119
new file mode 100644
index 0000000000000..a9909fe3d11bc
--- /dev/null
+++ b/db/schema_migrations/20240117070119
@@ -0,0 +1 @@
+1becea9a8277072f40d0fa7325338ae92e698b39e7c84b1be8ffe52832ef6794
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 14b6be62159aa..0dc34d195f1c3 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -35105,8 +35105,6 @@ CREATE INDEX index_protected_environments_on_approval_count_and_created_at ON pr
 
 CREATE UNIQUE INDEX index_protected_environments_on_group_id_and_name ON protected_environments USING btree (group_id, name) WHERE (group_id IS NOT NULL);
 
-CREATE INDEX index_protected_environments_on_project_id ON protected_environments USING btree (project_id);
-
 CREATE UNIQUE INDEX index_protected_environments_on_project_id_and_name ON protected_environments USING btree (project_id, name);
 
 CREATE INDEX index_protected_tag_create_access ON protected_tag_create_access_levels USING btree (protected_tag_id);
diff --git a/spec/support/helpers/database/duplicate_indexes.yml b/spec/support/helpers/database/duplicate_indexes.yml
index 80d409f233def..c77d5894d33e3 100644
--- a/spec/support/helpers/database/duplicate_indexes.yml
+++ b/spec/support/helpers/database/duplicate_indexes.yml
@@ -125,9 +125,6 @@ project_compliance_standards_adherence:
 project_repositories:
   index_project_repositories_on_shard_id_and_project_id:
     - index_project_repositories_on_shard_id
-protected_environments:
-  index_protected_environments_on_project_id_and_name:
-    - index_protected_environments_on_project_id
 protected_tags:
   index_protected_tags_on_project_id_and_name:
     - index_protected_tags_on_project_id
-- 
GitLab