diff --git a/db/migrate/20231114121812_drop_index_from_sbom_components.rb b/db/migrate/20231114121812_drop_index_from_sbom_components.rb
new file mode 100644
index 0000000000000000000000000000000000000000..b306dca46b48b6ae741fb59bd60e42819ba115e3
--- /dev/null
+++ b/db/migrate/20231114121812_drop_index_from_sbom_components.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+class DropIndexFromSbomComponents < Gitlab::Database::Migration[2.2]
+  disable_ddl_transaction!
+
+  milestone '16.7'
+
+  INDEX = 'index_source_package_names_on_component_and_purl'
+
+  def up
+    remove_concurrent_index_by_name :sbom_components, name: INDEX
+    add_concurrent_index :sbom_components,
+      [:component_type, :source_package_name, :purl_type],
+      name: INDEX
+  end
+
+  def down
+    # no-op
+  end
+end
diff --git a/db/schema_migrations/20231114121812 b/db/schema_migrations/20231114121812
new file mode 100644
index 0000000000000000000000000000000000000000..de0c2730c84ada0862510f3b1edc44969af37199
--- /dev/null
+++ b/db/schema_migrations/20231114121812
@@ -0,0 +1 @@
+0d675f9ac9c721e025e958ab792b454d78382ea8babf7f7eea6e7621d38ec5e9
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index ff69fa709dc56cfd2fd5a477bd60ddcb7aeecff5..9658c41c5cc9cd1ade6d60f5b4780bb343f9b78f 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -34557,7 +34557,7 @@ CREATE INDEX index_sop_schedules_on_sop_configuration_id ON security_orchestrati
 
 CREATE INDEX index_sop_schedules_on_user_id ON security_orchestration_policy_rule_schedules USING btree (user_id);
 
-CREATE UNIQUE INDEX index_source_package_names_on_component_and_purl ON sbom_components USING btree (component_type, source_package_name, purl_type);
+CREATE INDEX index_source_package_names_on_component_and_purl ON sbom_components USING btree (component_type, source_package_name, purl_type);
 
 CREATE INDEX index_spam_logs_on_user_id ON spam_logs USING btree (user_id);