gcx/backend/migrations/042_create_sms_verification...

15 lines
580 B
SQL

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