-- 043: SMS delivery logs table (audit trail) CREATE TABLE IF NOT EXISTS sms_logs ( id BIGSERIAL PRIMARY KEY, user_id UUID REFERENCES users(id) ON DELETE SET NULL, phone VARCHAR(20) NOT NULL, type VARCHAR(20) NOT NULL CHECK (type IN ('REGISTER', 'LOGIN', 'RESET_PASSWORD', 'CHANGE_PHONE')), status VARCHAR(20) NOT NULL DEFAULT 'PENDING' CHECK (status IN ('PENDING', 'SENT', 'DELIVERED', 'FAILED')), provider VARCHAR(50), provider_id VARCHAR(100), error_msg TEXT, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX idx_sms_logs_phone ON sms_logs(phone); CREATE INDEX idx_sms_logs_created ON sms_logs(created_at);