← back to Costa Rica
scripts/migrate_006_contacts.sql
18 lines
-- User-imported contacts (address book) — for platform-match + invite/referral.
-- PII: a user's own contacts only; never bulk-messaged by the platform.
CREATE TABLE IF NOT EXISTS contacts (
id BIGSERIAL PRIMARY KEY,
owner_id BIGINT NOT NULL REFERENCES app_users(id) ON DELETE CASCADE,
display_name TEXT,
phone_e164 TEXT, -- normalized
email TEXT,
matched_user_id BIGINT REFERENCES app_users(id) ON DELETE SET NULL, -- already on platform?
invited_at TIMESTAMPTZ,
invite_channel TEXT, -- whatsapp | sms
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
UNIQUE (owner_id, phone_e164)
);
CREATE INDEX IF NOT EXISTS idx_contacts_owner ON contacts(owner_id);
CREATE INDEX IF NOT EXISTS idx_contacts_matched ON contacts(matched_user_id);
CREATE INDEX IF NOT EXISTS idx_contacts_phone ON contacts(phone_e164);