diff --git a/db/docs/merge_request_context_commit_diff_files.yml b/db/docs/merge_request_context_commit_diff_files.yml
index 8fd7f24f630ed79ed99ad5760ecdfbf1988e9f97..97c06aec66cc831690c4ccd06f046a87f081bdba 100644
--- a/db/docs/merge_request_context_commit_diff_files.yml
+++ b/db/docs/merge_request_context_commit_diff_files.yml
@@ -17,5 +17,4 @@ desired_sharding_key:
         table: merge_request_context_commits
         sharding_key: project_id
         belongs_to: merge_request_context_commit
-    awaiting_backfill_on_parent: true
 table_size: small
diff --git a/db/docs/merge_request_context_commits.yml b/db/docs/merge_request_context_commits.yml
index 79ed4fa782b6757fe29a9fd5fe64cadc9a228cd8..46ece7fd17dd7979c250f05732445fa94f94e6eb 100644
--- a/db/docs/merge_request_context_commits.yml
+++ b/db/docs/merge_request_context_commits.yml
@@ -8,14 +8,6 @@ description: Store context commit related data for merge requests
 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23701
 milestone: '12.8'
 gitlab_schema: gitlab_main_cell
-desired_sharding_key:
-  project_id:
-    references: projects
-    backfill_via:
-      parent:
-        foreign_key: merge_request_id
-        table: merge_requests
-        sharding_key: target_project_id
-        belongs_to: merge_request
-desired_sharding_key_migration_job_name: BackfillMergeRequestContextCommitsProjectId
 table_size: small
+sharding_key:
+  project_id: projects
diff --git a/db/post_migrate/20250110090724_add_merge_request_context_commits_project_id_not_null_constraint.rb b/db/post_migrate/20250110090724_add_merge_request_context_commits_project_id_not_null_constraint.rb
new file mode 100644
index 0000000000000000000000000000000000000000..8d157eafb835982cdba23633443869bebaa6ecc9
--- /dev/null
+++ b/db/post_migrate/20250110090724_add_merge_request_context_commits_project_id_not_null_constraint.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+
+class AddMergeRequestContextCommitsProjectIdNotNullConstraint < Gitlab::Database::Migration[2.2]
+  disable_ddl_transaction!
+  milestone '17.9'
+
+  def up
+    add_not_null_constraint :merge_request_context_commits, :project_id
+  end
+
+  def down
+    remove_not_null_constraint :merge_request_context_commits, :project_id
+  end
+end
diff --git a/db/schema_migrations/20250110090724 b/db/schema_migrations/20250110090724
new file mode 100644
index 0000000000000000000000000000000000000000..387f5458bfad8e29bf57b3edcb269537dd6326ea
--- /dev/null
+++ b/db/schema_migrations/20250110090724
@@ -0,0 +1 @@
+9a466f8bef5c2d30125110898ee467db9540ef2c1136a6e3b164ff9df1f52299
\ No newline at end of file
diff --git a/db/structure.sql b/db/structure.sql
index 4e4b64bf667e3167a2ab2ac916ff3c2ffdf64087..78e2085cc98fc3e882597b5d8717a67be29a1d7a 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -15532,7 +15532,8 @@ CREATE TABLE merge_request_context_commits (
     merge_request_id bigint,
     trailers jsonb DEFAULT '{}'::jsonb NOT NULL,
     project_id bigint,
-    CONSTRAINT check_1dc6b5f2ac CHECK ((merge_request_id IS NOT NULL))
+    CONSTRAINT check_1dc6b5f2ac CHECK ((merge_request_id IS NOT NULL)),
+    CONSTRAINT check_777e62d390 CHECK ((project_id IS NOT NULL))
 );
 
 CREATE SEQUENCE merge_request_context_commits_id_seq