30 lines
867 B
SQL
30 lines
867 B
SQL
CREATE TABLE IF NOT EXISTS sms_auth_events (
|
|
id TEXT PRIMARY KEY,
|
|
phone_number TEXT NOT NULL,
|
|
scene TEXT NOT NULL,
|
|
action TEXT NOT NULL,
|
|
success BOOLEAN NOT NULL,
|
|
ip TEXT,
|
|
user_agent TEXT,
|
|
provider TEXT,
|
|
provider_request_id TEXT,
|
|
provider_biz_id TEXT,
|
|
provider_out_id TEXT,
|
|
delivery_status TEXT NOT NULL DEFAULT 'pending',
|
|
delivery_report_raw_json JSONB,
|
|
delivery_reported_at TEXT,
|
|
created_at TEXT NOT NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS sms_auth_events_phone_created_idx
|
|
ON sms_auth_events (phone_number, created_at DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS sms_auth_events_ip_created_idx
|
|
ON sms_auth_events (ip, created_at DESC);
|
|
|
|
CREATE INDEX IF NOT EXISTS sms_auth_events_provider_biz_id_idx
|
|
ON sms_auth_events (provider_biz_id);
|
|
|
|
CREATE INDEX IF NOT EXISTS sms_auth_events_provider_out_id_idx
|
|
ON sms_auth_events (provider_out_id);
|