diff --git a/db/post_migrate/20250311023505_add_unique_index_for_lfs_objects_projects_null_repo_type.rb b/db/post_migrate/20250311023505_add_unique_index_for_lfs_objects_projects_null_repo_type.rb
new file mode 100644
index 0000000000000000000000000000000000000000..2e0664b670a612f743f3a0908d392bf65e7c1a45
--- /dev/null
+++ b/db/post_migrate/20250311023505_add_unique_index_for_lfs_objects_projects_null_repo_type.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+class AddUniqueIndexForLfsObjectsProjectsNullRepoType < Gitlab::Database::Migration[2.2]
+  milestone '17.10'
+  disable_ddl_transaction!
+
+  TABLE_NAME = :lfs_objects_projects
+  INDEX_NAME = 'lfs_objects_projects_on_project_id_lfs_object_id_null_repo_type'
+
+  def up
+    add_concurrent_index TABLE_NAME, [:project_id, :lfs_object_id],
+      unique: true,
+      where: "repository_type IS NULL",
+      name: INDEX_NAME
+  end
+
+  def down
+    remove_concurrent_index_by_name TABLE_NAME, INDEX_NAME
+  end
+end
diff --git a/db/schema_migrations/20250311023505 b/db/schema_migrations/20250311023505
new file mode 100644
index 0000000000000000000000000000000000000000..388062c490ee627a27d668b811165874ff1ccf0b
--- /dev/null
+++ b/db/schema_migrations/20250311023505
@@ -0,0 +1 @@
+c30b9f2b16b88aadbfb3fad04c7d2b93ce792eeac01ff8dc75a9df0d4d3c114d
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 88ec190792af7a79f7afa7b0d53d384644b42ee9..38f747628db5d7900c834d635188bcf9784c556b 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -36473,6 +36473,8 @@ CREATE UNIQUE INDEX issue_user_mentions_on_issue_id_index ON issue_user_mentions
 
 CREATE UNIQUE INDEX kubernetes_namespaces_cluster_and_namespace ON clusters_kubernetes_namespaces USING btree (cluster_id, namespace);
 
+CREATE UNIQUE INDEX lfs_objects_projects_on_project_id_lfs_object_id_null_repo_type ON lfs_objects_projects USING btree (project_id, lfs_object_id) WHERE (repository_type IS NULL);
+
 CREATE UNIQUE INDEX merge_request_user_mentions_on_mr_id_and_note_id_index ON merge_request_user_mentions USING btree (merge_request_id, note_id);
 
 CREATE UNIQUE INDEX merge_request_user_mentions_on_mr_id_index ON merge_request_user_mentions USING btree (merge_request_id) WHERE (note_id IS NULL);