CREATE TABLE IF NOT EXISTS notifications ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), user_id uuid NOT NULL REFERENCES users (id) ON DELETE CASCADE, type text NOT NULL CHECK (type IN ('mention', 'dm', 'thread_reply', 'invite', 'system')), source_id uuid, read boolean DEFAULT false, created_at timestamptz DEFAULT now() );