From 0b4754ca24c1e5d3465b2eb70a243a4d091dfcf9 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Mon, 22 Sep 2025 08:40:12 +0300 Subject: [PATCH] update email events index --- app/models/email_event.rb | 2 +- .../20250922053744_update_email_event_type_index.rb | 12 ++++++++++++ db/schema.rb | 4 ++-- 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 db/migrate/20250922053744_update_email_event_type_index.rb diff --git a/app/models/email_event.rb b/app/models/email_event.rb index ed796226..8683a444 100644 --- a/app/models/email_event.rb +++ b/app/models/email_event.rb @@ -20,7 +20,7 @@ # # index_email_events_on_account_id_and_event_datetime (account_id,event_datetime) # index_email_events_on_email (email) -# index_email_events_on_email_event_types (email) WHERE ((event_type)::text = ANY ((ARRAY['bounce'::character varying, 'soft_bounce'::character varying, 'complaint'::character varying, 'soft_complaint'::character varying])::text[])) +# index_email_events_on_email_event_types (email) WHERE ((event_type)::text = ANY ((ARRAY['bounce'::character varying, 'soft_bounce'::character varying, 'permanent_bounce'::character varying, 'complaint'::character varying, 'soft_complaint'::character varying])::text[])) # index_email_events_on_emailable (emailable_type,emailable_id) # index_email_events_on_message_id (message_id) # diff --git a/db/migrate/20250922053744_update_email_event_type_index.rb b/db/migrate/20250922053744_update_email_event_type_index.rb new file mode 100644 index 00000000..7c33c65f --- /dev/null +++ b/db/migrate/20250922053744_update_email_event_type_index.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +class UpdateEmailEventTypeIndex < ActiveRecord::Migration[8.0] + def change + remove_index :email_events, :email, where: "event_type IN ('bounce', 'soft_bounce', 'complaint', 'soft_complaint')", + name: 'index_email_events_on_email_event_types' + + add_index :email_events, :email, + where: "event_type IN ('bounce', 'soft_bounce', 'permanent_bounce', 'complaint', 'soft_complaint')", + name: 'index_email_events_on_email_event_types' + end +end diff --git a/db/schema.rb b/db/schema.rb index deff3e5a..c14f705b 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_09_15_060548) do +ActiveRecord::Schema[8.0].define(version: 2025_09_22_053744) do # These are extensions that must be enabled in order to support this database enable_extension "btree_gin" enable_extension "plpgsql" @@ -178,7 +178,7 @@ ActiveRecord::Schema[8.0].define(version: 2025_09_15_060548) do t.datetime "created_at", null: false 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 ["email"], name: "index_email_events_on_email_event_types", where: "((event_type)::text = ANY ((ARRAY['bounce'::character varying, 'soft_bounce'::character varying, 'complaint'::character varying, 'soft_complaint'::character varying])::text[]))" + t.index ["email"], name: "index_email_events_on_email_event_types", where: "((event_type)::text = ANY ((ARRAY['bounce'::character varying, 'soft_bounce'::character varying, 'permanent_bounce'::character varying, 'complaint'::character varying, 'soft_complaint'::character varying])::text[]))" t.index ["emailable_type", "emailable_id"], name: "index_email_events_on_emailable" t.index ["message_id"], name: "index_email_events_on_message_id" end