Browse Source

CLDC-4226: Index logs by org and ID (#3199)

* CLDC-4226: index logs by org and id

* CLDC-4226: include teamwide non-functional schema change

* CLDC-4226: schema update
pull/3206/head
Nat Dean-Lewis 2 weeks ago committed by GitHub
parent
commit
dd0f491beb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 25
      db/migrate/20260225135309_add_composite_indexes_for_logs_organisation_lookup.rb
  2. 6
      db/schema.rb

25
db/migrate/20260225135309_add_composite_indexes_for_logs_organisation_lookup.rb

@ -0,0 +1,25 @@
class AddCompositeIndexesForLogsOrganisationLookup < ActiveRecord::Migration[7.2]
disable_ddl_transaction!
def change
add_index :lettings_logs, %i[owning_organisation_id id],
order: { id: :desc },
name: "index_lettings_logs_on_owning_org_and_id_desc",
algorithm: :concurrently
add_index :lettings_logs, %i[managing_organisation_id id],
order: { id: :desc },
name: "index_lettings_logs_on_managing_org_and_id_desc",
algorithm: :concurrently
add_index :sales_logs, %i[owning_organisation_id id],
order: { id: :desc },
name: "index_sales_logs_on_owning_org_and_id_desc",
algorithm: :concurrently
add_index :sales_logs, %i[managing_organisation_id id],
order: { id: :desc },
name: "index_sales_logs_on_managing_org_and_id_desc",
algorithm: :concurrently
end
end

6
db/schema.rb

@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema[7.2].define(version: 2026_02_19_093257) do ActiveRecord::Schema[7.2].define(version: 2026_02_25_162121) do
# These are extensions that must be enabled in order to support this database # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"
@ -408,8 +408,10 @@ ActiveRecord::Schema[7.2].define(version: 2026_02_19_093257) do
t.index ["bulk_upload_id"], name: "index_lettings_logs_on_bulk_upload_id" t.index ["bulk_upload_id"], name: "index_lettings_logs_on_bulk_upload_id"
t.index ["created_by_id"], name: "index_lettings_logs_on_created_by_id" t.index ["created_by_id"], name: "index_lettings_logs_on_created_by_id"
t.index ["location_id"], name: "index_lettings_logs_on_location_id" t.index ["location_id"], name: "index_lettings_logs_on_location_id"
t.index ["managing_organisation_id", "id"], name: "index_lettings_logs_on_managing_org_and_id_desc", order: { id: :desc }
t.index ["managing_organisation_id"], name: "index_lettings_logs_on_managing_organisation_id" t.index ["managing_organisation_id"], name: "index_lettings_logs_on_managing_organisation_id"
t.index ["old_id"], name: "index_lettings_logs_on_old_id", unique: true t.index ["old_id"], name: "index_lettings_logs_on_old_id", unique: true
t.index ["owning_organisation_id", "id"], name: "index_lettings_logs_on_owning_org_and_id_desc", order: { id: :desc }
t.index ["owning_organisation_id"], name: "index_lettings_logs_on_owning_organisation_id" t.index ["owning_organisation_id"], name: "index_lettings_logs_on_owning_organisation_id"
t.index ["scheme_id"], name: "index_lettings_logs_on_scheme_id" t.index ["scheme_id"], name: "index_lettings_logs_on_scheme_id"
t.index ["updated_by_id"], name: "index_lettings_logs_on_updated_by_id" t.index ["updated_by_id"], name: "index_lettings_logs_on_updated_by_id"
@ -826,8 +828,10 @@ ActiveRecord::Schema[7.2].define(version: 2026_02_19_093257) do
t.index ["assigned_to_id"], name: "index_sales_logs_on_assigned_to_id" t.index ["assigned_to_id"], name: "index_sales_logs_on_assigned_to_id"
t.index ["bulk_upload_id"], name: "index_sales_logs_on_bulk_upload_id" t.index ["bulk_upload_id"], name: "index_sales_logs_on_bulk_upload_id"
t.index ["created_by_id"], name: "index_sales_logs_on_created_by_id" t.index ["created_by_id"], name: "index_sales_logs_on_created_by_id"
t.index ["managing_organisation_id", "id"], name: "index_sales_logs_on_managing_org_and_id_desc", order: { id: :desc }
t.index ["managing_organisation_id"], name: "index_sales_logs_on_managing_organisation_id" t.index ["managing_organisation_id"], name: "index_sales_logs_on_managing_organisation_id"
t.index ["old_id"], name: "index_sales_logs_on_old_id", unique: true t.index ["old_id"], name: "index_sales_logs_on_old_id", unique: true
t.index ["owning_organisation_id", "id"], name: "index_sales_logs_on_owning_org_and_id_desc", order: { id: :desc }
t.index ["owning_organisation_id"], name: "index_sales_logs_on_owning_organisation_id" t.index ["owning_organisation_id"], name: "index_sales_logs_on_owning_organisation_id"
t.index ["updated_by_id"], name: "index_sales_logs_on_updated_by_id" t.index ["updated_by_id"], name: "index_sales_logs_on_updated_by_id"
end end

Loading…
Cancel
Save