diff --git a/db/docs/batched_background_migrations/backfill_approval_project_rules_users_project_id.yml b/db/docs/batched_background_migrations/backfill_approval_project_rules_users_project_id.yml
index 654c87c9807f5814bf74097677671bd0bfd60e98..340c021a10d03fec8fd92226d7861585660947b0 100644
--- a/db/docs/batched_background_migrations/backfill_approval_project_rules_users_project_id.yml
+++ b/db/docs/batched_background_migrations/backfill_approval_project_rules_users_project_id.yml
@@ -1,8 +1,9 @@
 ---
 migration_job_name: BackfillApprovalProjectRulesUsersProjectId
-description: Backfills sharding key `approval_project_rules_users.project_id` from `approval_project_rules`.
+description: Backfills sharding key `approval_project_rules_users.project_id` from
+  `approval_project_rules`.
 feature_category: source_code_management
 introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/151631
 milestone: '17.0'
 queued_migration_version: 20240501044505
-finalized_by: # version of the migration that finalized this BBM
+finalized_by: '20241006231846'
diff --git a/db/post_migrate/20241006231846_finalize_backfill_approval_project_rules_users_project_id.rb b/db/post_migrate/20241006231846_finalize_backfill_approval_project_rules_users_project_id.rb
new file mode 100644
index 0000000000000000000000000000000000000000..8c520291f85a62ba6eaed9dbcd49ce5abbd032c7
--- /dev/null
+++ b/db/post_migrate/20241006231846_finalize_backfill_approval_project_rules_users_project_id.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+class FinalizeBackfillApprovalProjectRulesUsersProjectId < Gitlab::Database::Migration[2.2]
+  milestone '17.5'
+
+  disable_ddl_transaction!
+
+  restrict_gitlab_migration gitlab_schema: :gitlab_main_cell
+
+  def up
+    ensure_batched_background_migration_is_finished(
+      job_class_name: 'BackfillApprovalProjectRulesUsersProjectId',
+      table_name: :approval_project_rules_users,
+      column_name: :id,
+      job_arguments: [:project_id, :approval_project_rules, :project_id, :approval_project_rule_id],
+      finalize: true
+    )
+  end
+
+  def down; end
+end
diff --git a/db/schema_migrations/20241006231846 b/db/schema_migrations/20241006231846
new file mode 100644
index 0000000000000000000000000000000000000000..63de369d8e268cb5eb51cdff4ec45d9ba7875abb
--- /dev/null
+++ b/db/schema_migrations/20241006231846
@@ -0,0 +1 @@
+aab8544715644743d2cd06e5cfe7aabf2d1e78534baec596f4634c816d289e26
\ No newline at end of file