-- Preserve message outbox lease and provider result metadata across restarts. ALTER TABLE IF EXISTS email_sms_outbox ADD COLUMN IF NOT EXISTS lease_owner TEXT, ADD COLUMN IF NOT EXISTS lease_expires_at TIMESTAMPTZ, ADD COLUMN IF NOT EXISTS provider_message_id TEXT, ADD COLUMN IF NOT EXISTS last_error TEXT, ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ NOT NULL DEFAULT now(); CREATE INDEX IF NOT EXISTS email_sms_outbox_poll_idx ON email_sms_outbox(status, next_attempt_at);