CREATE TABLE IF NOT EXISTS calendar_item_chat_messages ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), calendar_item_id UUID NOT NULL REFERENCES calendar_items(id) ON DELETE CASCADE, channel TEXT NOT NULL CHECK (channel IN ('external', 'internal')), body TEXT NOT NULL, created_by UUID REFERENCES users(id) ON DELETE SET NULL, created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX IF NOT EXISTS idx_calendar_item_chat_messages_item_channel ON calendar_item_chat_messages (calendar_item_id, channel, created_at);