gcx/backend/migrations/043_create_sms_logs.sql

16 lines
660 B
SQL

-- 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);