diff --git a/app/models/commit_status.rb b/app/models/commit_status.rb
index c2425e9460add68aa9a4fa2a02a11285f1bb5a8a..3761aa81bf7464e1d091c6917636e28c22c1eaa6 100644
--- a/app/models/commit_status.rb
+++ b/app/models/commit_status.rb
@@ -9,16 +9,19 @@ class CommitStatus < Ci::ApplicationRecord
   include BulkInsertableAssociations
   include TaggableQueries
 
-  ROUTING_FEATURE_FLAG = :ci_partitioning_use_ci_builds_routing_table
+  def self.switch_table_names
+    if Gitlab::Utils.to_boolean(ENV['USE_CI_BUILDS_ROUTING_TABLE'])
+      :p_ci_builds
+    else
+      :ci_builds
+    end
+  end
 
-  self.table_name = 'ci_builds'
-  self.sequence_name = 'ci_builds_id_seq'
+  self.table_name = self.switch_table_names
+  self.sequence_name = :ci_builds_id_seq
   self.primary_key = :id
 
-  partitionable scope: :pipeline, through: {
-    table: :p_ci_builds,
-    flag: ROUTING_FEATURE_FLAG
-  }
+  partitionable scope: :pipeline
 
   belongs_to :user
   belongs_to :project
diff --git a/config/feature_flags/development/ci_partitioning_use_ci_builds_routing_table.yml b/config/feature_flags/development/ci_partitioning_use_ci_builds_routing_table.yml
deleted file mode 100644
index 97bacb21e384b4ac1a1aa68baad8060ca03197d0..0000000000000000000000000000000000000000
--- a/config/feature_flags/development/ci_partitioning_use_ci_builds_routing_table.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: ci_partitioning_use_ci_builds_routing_table
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/122919
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/421180
-milestone: '16.3'
-type: development
-group: group::pipeline execution
-default_enabled: false
diff --git a/db/docs/p_ci_builds.yml b/db/docs/p_ci_builds.yml
index 757d609dd4b8c7067f1580a0204ea88a1c076900..ca01e89de09aa95ab1a49a3c9cd11a94d2844cd5 100644
--- a/db/docs/p_ci_builds.yml
+++ b/db/docs/p_ci_builds.yml
@@ -2,15 +2,10 @@
 table_name: p_ci_builds
 classes:
 - Ci::Bridge
-- Ci::Bridge::Partitioned
 - Ci::Build
-- Ci::Build::Partitioned
 - Ci::Processable
-- Ci::Processable::Partitioned
 - CommitStatus
-- CommitStatus::Partitioned
 - GenericCommitStatus
-- GenericCommitStatus::Partitioned
 feature_categories:
 - continuous_integration
 description: Routing table for ci_builds
diff --git a/spec/db/schema_spec.rb b/spec/db/schema_spec.rb
index fea3c5b77a130174384eb8dabf06db7fd40eca97..15298888f3e52a8e6b71d20084d1081576a335db 100644
--- a/spec/db/schema_spec.rb
+++ b/spec/db/schema_spec.rb
@@ -236,23 +236,18 @@
   IGNORED_LIMIT_ENUMS = {
     'Analytics::CycleAnalytics::Stage' => %w[start_event_identifier end_event_identifier],
     'Ci::Bridge' => %w[failure_reason],
-    'Ci::Bridge::Partitioned' => %w[failure_reason],
     'Ci::Build' => %w[failure_reason],
-    'Ci::Build::Partitioned' => %w[failure_reason],
     'Ci::BuildMetadata' => %w[timeout_source],
     'Ci::BuildTraceChunk' => %w[data_store],
     'Ci::DailyReportResult' => %w[param_type],
     'Ci::JobArtifact' => %w[file_type],
     'Ci::Pipeline' => %w[source config_source failure_reason],
     'Ci::Processable' => %w[failure_reason],
-    'Ci::Processable::Partitioned' => %w[failure_reason],
     'Ci::Runner' => %w[access_level],
     'Ci::Stage' => %w[status],
     'Clusters::Cluster' => %w[platform_type provider_type],
     'CommitStatus' => %w[failure_reason],
-    'CommitStatus::Partitioned' => %w[failure_reason],
     'GenericCommitStatus' => %w[failure_reason],
-    'GenericCommitStatus::Partitioned' => %w[failure_reason],
     'InternalId' => %w[usage],
     'List' => %w[list_type],
     'NotificationSetting' => %w[level],
@@ -284,7 +279,6 @@
     "ApplicationSetting" => %w[repository_storages_weighted],
     "AlertManagement::Alert" => %w[payload],
     "Ci::BuildMetadata" => %w[config_options config_variables],
-    "Ci::BuildMetadata::Partitioned" => %w[config_options config_variables id_tokens runtime_runner_features secrets],
     "ExperimentSubject" => %w[context],
     "ExperimentUser" => %w[context],
     "Geo::Event" => %w[payload],
diff --git a/spec/models/ci/build_spec.rb b/spec/models/ci/build_spec.rb
index 15f31d98d980500a6e3a5a69ba323c66d0db1645..01fe5a46fd92f92f861d3fe4a8be96cbe104e269 100644
--- a/spec/models/ci/build_spec.rb
+++ b/spec/models/ci/build_spec.rb
@@ -5649,26 +5649,4 @@ def run_job_without_exception
       end
     end
   end
-
-  describe 'routing table switch' do
-    context 'with ff disabled' do
-      before do
-        stub_feature_flags(ci_partitioning_use_ci_builds_routing_table: false)
-      end
-
-      it 'uses the legacy table' do
-        expect(described_class.table_name).to eq('ci_builds')
-      end
-    end
-
-    context 'with ff enabled' do
-      before do
-        stub_feature_flags(ci_partitioning_use_ci_builds_routing_table: true)
-      end
-
-      it 'uses the routing table' do
-        expect(described_class.table_name).to eq('p_ci_builds')
-      end
-    end
-  end
 end
diff --git a/spec/models/commit_status_spec.rb b/spec/models/commit_status_spec.rb
index 9ce9f0e13b59941d5d15191331b00bfc2d8394c2..e9257b08bca31bdaf72dcc46c098fd3c425d946e 100644
--- a/spec/models/commit_status_spec.rb
+++ b/spec/models/commit_status_spec.rb
@@ -44,6 +44,24 @@ def create_status(**opts)
   it { is_expected.not_to be_retried }
   it { expect(described_class.primary_key).to eq('id') }
 
+  describe '.switch_table_names' do
+    before do
+      stub_env('USE_CI_BUILDS_ROUTING_TABLE', flag_value)
+    end
+
+    context 'with the env flag disabled' do
+      let(:flag_value) { 'false' }
+
+      it { expect(described_class.switch_table_names).to eq(:ci_builds) }
+    end
+
+    context 'with the env flag enabled' do
+      let(:flag_value) { 'true' }
+
+      it { expect(described_class.switch_table_names).to eq(:p_ci_builds) }
+    end
+  end
+
   describe '#author' do
     subject { commit_status.author }
 
@@ -1067,26 +1085,4 @@ def create_status(**opts)
 
     it_behaves_like 'having enum with nil value'
   end
-
-  describe 'routing table switch' do
-    context 'with ff disabled' do
-      before do
-        stub_feature_flags(ci_partitioning_use_ci_builds_routing_table: false)
-      end
-
-      it 'uses the legacy table' do
-        expect(described_class.table_name).to eq('ci_builds')
-      end
-    end
-
-    context 'with ff enabled' do
-      before do
-        stub_feature_flags(ci_partitioning_use_ci_builds_routing_table: true)
-      end
-
-      it 'uses the routing table' do
-        expect(described_class.table_name).to eq('p_ci_builds')
-      end
-    end
-  end
 end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index e7afa3dedd56c6516388a0b25f1a2f26b0a9448d..6ebf77bdccd794609cf3289937e90cb1515ef25d 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -24,6 +24,7 @@
 ENV["RAILS_ENV"] = 'test'
 ENV["IN_MEMORY_APPLICATION_SETTINGS"] = 'true'
 ENV["RSPEC_ALLOW_INVALID_URLS"] = 'true'
+ENV['USE_CI_BUILDS_ROUTING_TABLE'] = 'true'
 
 require_relative '../config/environment'