diff --git a/services/arbiter-3.0/migrations/trinity-console.sql b/services/arbiter-3.0/migrations/trinity-console.sql index d7a2c8f..57458bf 100644 --- a/services/arbiter-3.0/migrations/trinity-console.sql +++ b/services/arbiter-3.0/migrations/trinity-console.sql @@ -52,6 +52,20 @@ CREATE INDEX IF NOT EXISTS idx_audit_log_admin ON admin_audit_log(admin_discord_ CREATE INDEX IF NOT EXISTS idx_subscriptions_grace_period ON subscriptions(grace_period_ends_at) WHERE grace_period_ends_at IS NOT NULL; CREATE INDEX IF NOT EXISTS idx_banned_users_discord_id ON banned_users(discord_id); +-- Performance Indexes for Trinity Console (Added by Chronicler #51) +-- Status is used in WHERE clauses across ALL modules +CREATE INDEX IF NOT EXISTS idx_subscriptions_status +ON subscriptions(status); + +-- Composite index for Grace Period queries (status + grace_period_ends_at) +CREATE INDEX IF NOT EXISTS idx_subscriptions_grace_period_active +ON subscriptions(status, grace_period_ends_at) +WHERE status = 'grace_period'; + +-- Tier level for Financials breakdown +CREATE INDEX IF NOT EXISTS idx_subscriptions_tier_status +ON subscriptions(tier_level, status); + -- Comments for documentation COMMENT ON TABLE player_history IS 'Tracks all tier changes and subscription lifecycle events'; COMMENT ON TABLE admin_audit_log IS 'Logs all administrative actions by The Trinity';