-- 042: SMS verification codes table CREATE TABLE IF NOT EXISTS sms_verifications ( id BIGSERIAL PRIMARY KEY, phone VARCHAR(20) NOT NULL, code VARCHAR(255) NOT NULL, type VARCHAR(20) NOT NULL CHECK (type IN ('REGISTER', 'LOGIN', 'RESET_PASSWORD', 'CHANGE_PHONE')), expires_at TIMESTAMPTZ NOT NULL, verified_at TIMESTAMPTZ, attempts INT NOT NULL DEFAULT 0, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX idx_sms_verif_phone_type ON sms_verifications(phone, type); CREATE INDEX idx_sms_verif_expires ON sms_verifications(expires_at);