From f7dfc0b2edca72c0036c1e3c4ec353d379ad3d4c Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Fri, 30 May 2025 11:12:33 +0300 Subject: [PATCH] add email event date index --- app/models/email_event.rb | 8 ++++---- db/migrate/20250530080846_add_email_events_date_index.rb | 8 ++++++++ db/schema.rb | 4 ++-- 3 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 db/migrate/20250530080846_add_email_events_date_index.rb diff --git a/app/models/email_event.rb b/app/models/email_event.rb index 87682875..bc853a3d 100644 --- a/app/models/email_event.rb +++ b/app/models/email_event.rb @@ -18,10 +18,10 @@ # # Indexes # -# index_email_events_on_account_id (account_id) -# index_email_events_on_email (email) -# index_email_events_on_emailable (emailable_type,emailable_id) -# index_email_events_on_message_id (message_id) +# index_email_events_on_account_id_and_event_datetime (account_id,event_datetime) +# index_email_events_on_email (email) +# index_email_events_on_emailable (emailable_type,emailable_id) +# index_email_events_on_message_id (message_id) # # Foreign Keys # diff --git a/db/migrate/20250530080846_add_email_events_date_index.rb b/db/migrate/20250530080846_add_email_events_date_index.rb new file mode 100644 index 00000000..25a0d643 --- /dev/null +++ b/db/migrate/20250530080846_add_email_events_date_index.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class AddEmailEventsDateIndex < ActiveRecord::Migration[8.0] + def change + remove_index :email_events, :account_id + add_index :email_events, %i[account_id event_datetime] + end +end diff --git a/db/schema.rb b/db/schema.rb index 887938d0..28f1a524 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_05_18_070555) do +ActiveRecord::Schema[8.0].define(version: 2025_05_30_080846) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -174,7 +174,7 @@ ActiveRecord::Schema[8.0].define(version: 2025_05_18_070555) do t.text "data", null: false t.datetime "event_datetime", null: false t.datetime "created_at", null: false - t.index ["account_id"], name: "index_email_events_on_account_id" + t.index ["account_id", "event_datetime"], name: "index_email_events_on_account_id_and_event_datetime" t.index ["email"], name: "index_email_events_on_email" t.index ["emailable_type", "emailable_id"], name: "index_email_events_on_emailable" t.index ["message_id"], name: "index_email_events_on_message_id"