From c98325cb1ea9c1f9eb806ac495a632360cda791c Mon Sep 17 00:00:00 2001 From: Misha Gorodnitzky Date: Tue, 26 Aug 2025 14:58:38 +0100 Subject: [PATCH] Remove pds search results index This index restricts the PDS searches to only be able to run once per import/patient combo. We don't particularly need this protection, and as it turns out when we merge two patients this breaks because we try to merge their search results too. --- app/models/pds_search_result.rb | 5 ++--- ...ndex_pds_search_results_on_patient_import_step.rb | 12 ++++++++++++ db/schema.rb | 3 +-- spec/factories/pds_search_results.rb | 5 ++--- 4 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 db/migrate/20250826135132_remove_index_pds_search_results_on_patient_import_step.rb diff --git a/app/models/pds_search_result.rb b/app/models/pds_search_result.rb index b428aeae03..3c9ae9acb1 100644 --- a/app/models/pds_search_result.rb +++ b/app/models/pds_search_result.rb @@ -16,9 +16,8 @@ # # Indexes # -# index_pds_search_results_on_import (import_type,import_id) -# index_pds_search_results_on_patient_id (patient_id) -# index_pds_search_results_on_patient_import_step (patient_id,import_type,import_id,step) UNIQUE +# index_pds_search_results_on_import (import_type,import_id) +# index_pds_search_results_on_patient_id (patient_id) # # Foreign Keys # diff --git a/db/migrate/20250826135132_remove_index_pds_search_results_on_patient_import_step.rb b/db/migrate/20250826135132_remove_index_pds_search_results_on_patient_import_step.rb new file mode 100644 index 0000000000..a06ea5a62b --- /dev/null +++ b/db/migrate/20250826135132_remove_index_pds_search_results_on_patient_import_step.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +class RemoveIndexPDSSearchResultsOnPatientImportStep < ActiveRecord::Migration[ + 8.0 +] + def change + remove_index :pds_search_results, + name: "index_pds_search_results_on_patient_import_step", + column: %i[patient_id import_type import_id step], + unique: true + end +end diff --git a/db/schema.rb b/db/schema.rb index 6a740e6308..d4cd8a8ec5 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.0].define(version: 2025_08_22_094829) do +ActiveRecord::Schema[8.0].define(version: 2025_08_26_135132) do # These are extensions that must be enabled in order to support this database enable_extension "pg_catalog.plpgsql" enable_extension "pg_trgm" @@ -718,7 +718,6 @@ t.datetime "created_at", null: false t.datetime "updated_at", null: false t.index ["import_type", "import_id"], name: "index_pds_search_results_on_import" - t.index ["patient_id", "import_type", "import_id", "step"], name: "index_pds_search_results_on_patient_import_step", unique: true t.index ["patient_id"], name: "index_pds_search_results_on_patient_id" end diff --git a/spec/factories/pds_search_results.rb b/spec/factories/pds_search_results.rb index 9cc6d6fce6..9ba1b218d9 100644 --- a/spec/factories/pds_search_results.rb +++ b/spec/factories/pds_search_results.rb @@ -16,9 +16,8 @@ # # Indexes # -# index_pds_search_results_on_import (import_type,import_id) -# index_pds_search_results_on_patient_id (patient_id) -# index_pds_search_results_on_patient_import_step (patient_id,import_type,import_id,step) UNIQUE +# index_pds_search_results_on_import (import_type,import_id) +# index_pds_search_results_on_patient_id (patient_id) # # Foreign Keys #