15 lines
580 B
SQL
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);
|