diff --git a/db/post_migrate/20241001155014_prepare_partitioned_async_index_merge_request_diff_files99208b8fac_on_project_id.rb b/db/post_migrate/20241001155014_prepare_partitioned_async_index_merge_request_diff_files99208b8fac_on_project_id.rb
new file mode 100644
index 0000000000000000000000000000000000000000..9796b5230d3f59db66ee8310704b04634d644d59
--- /dev/null
+++ b/db/post_migrate/20241001155014_prepare_partitioned_async_index_merge_request_diff_files99208b8fac_on_project_id.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class PreparePartitionedAsyncIndexMergeRequestDiffFiles99208b8facOnProjectId < Gitlab::Database::Migration[2.2]
+  include Gitlab::Database::PartitioningMigrationHelpers
+
+  milestone '17.5'
+  disable_ddl_transaction!
+
+  INDEX_NAME = 'index_merge_request_diff_files_99208b8fac_on_project_id'
+
+  def up
+    prepare_partitioned_async_index :merge_request_diff_files_99208b8fac, :project_id, name: INDEX_NAME
+  end
+
+  def down
+    unprepare_partitioned_async_index_by_name :merge_request_diff_files_99208b8fac, INDEX_NAME
+  end
+end
diff --git a/db/schema_migrations/20241001155014 b/db/schema_migrations/20241001155014
new file mode 100644
index 0000000000000000000000000000000000000000..e1e81ae78df36322c706d291bf29a26a1afd5791
--- /dev/null
+++ b/db/schema_migrations/20241001155014
@@ -0,0 +1 @@
+abd0ac2b1be55693f321806d887cc21e8088529a0bb05bf224612d562058dd54
\ No newline at end of file