diff --git a/app/models/submission_event.rb b/app/models/submission_event.rb index 2769bcbb..11a6e995 100644 --- a/app/models/submission_event.rb +++ b/app/models/submission_event.rb @@ -16,10 +16,11 @@ # # Indexes # -# index_submission_events_on_account_id (account_id) -# index_submission_events_on_created_at (created_at) -# index_submission_events_on_submission_id (submission_id) -# index_submission_events_on_submitter_id (submitter_id) +# index_submission_events_on_account_id (account_id) +# index_submission_events_on_created_at (created_at) +# index_submission_events_on_submission_id (submission_id) +# index_submission_events_on_submitter_id (submitter_id) +# index_submissions_events_on_sms_event_types (account_id,created_at) WHERE ((event_type)::text = ANY ((ARRAY['send_sms'::character varying, 'send_2fa_sms'::character varying])::text[])) # # Foreign Keys # diff --git a/db/migrate/20251121113910_add_send_sms_send_2fa_sms_index.rb b/db/migrate/20251121113910_add_send_sms_send_2fa_sms_index.rb new file mode 100644 index 00000000..f6f666a8 --- /dev/null +++ b/db/migrate/20251121113910_add_send_sms_send_2fa_sms_index.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class AddSendSmsSend2faSmsIndex < ActiveRecord::Migration[8.0] + def change + add_index :submission_events, %i[account_id created_at], + where: "event_type IN ('send_sms', 'send_2fa_sms')", + name: 'index_submissions_events_on_sms_event_types' + end +end diff --git a/db/schema.rb b/db/schema.rb index 16a8d39b..5ceb1f31 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_11_21_093511) do +ActiveRecord::Schema[8.0].define(version: 2025_11_21_113910) do # These are extensions that must be enabled in order to support this database enable_extension "btree_gin" enable_extension "plpgsql" @@ -297,6 +297,7 @@ ActiveRecord::Schema[8.0].define(version: 2025_11_21_093511) do t.datetime "created_at", null: false t.datetime "updated_at", null: false t.bigint "account_id" + t.index ["account_id", "created_at"], name: "index_submissions_events_on_sms_event_types", where: "((event_type)::text = ANY ((ARRAY['send_sms'::character varying, 'send_2fa_sms'::character varying])::text[]))" t.index ["account_id"], name: "index_submission_events_on_account_id" t.index ["created_at"], name: "index_submission_events_on_created_at" t.index ["submission_id"], name: "index_submission_events_on_submission_id"