-- Migration: add clients table and task person fields (requested/noted/received) -- Created: 2026-02-21 10:30:00 BEGIN; -- Clients table to store non-profile requesters/receivers CREATE TABLE IF NOT EXISTS clients ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), name text NOT NULL, contact jsonb DEFAULT '{}'::jsonb, created_at timestamptz NOT NULL DEFAULT now() ); -- Ensure we can efficiently search clients by name CREATE INDEX IF NOT EXISTS clients_name_idx ON clients (lower(name)); -- Add nullable person fields to tasks (requested_by, noted_by, received_by) ALTER TABLE IF EXISTS tasks ADD COLUMN IF NOT EXISTS requested_by text, ADD COLUMN IF NOT EXISTS noted_by text, ADD COLUMN IF NOT EXISTS received_by text; CREATE INDEX IF NOT EXISTS tasks_requested_by_idx ON tasks (requested_by); CREATE INDEX IF NOT EXISTS tasks_noted_by_idx ON tasks (noted_by); CREATE INDEX IF NOT EXISTS tasks_received_by_idx ON tasks (received_by); COMMIT;