feat(phase5): list channels - todo/in_progress/done columns, CRUD

This commit is contained in:
2026-06-30 11:26:15 -04:00
parent dbebc1f381
commit 74d2153ffa
10 changed files with 282 additions and 9 deletions
+14
View File
@@ -421,6 +421,20 @@ CREATE TABLE IF NOT EXISTS documents (
CREATE INDEX IF NOT EXISTS idx_documents_channel ON documents(channel_id, updated_at DESC);
-- List items (task lists)
CREATE TABLE IF NOT EXISTS list_items (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
channel_id UUID NOT NULL REFERENCES channels(id) ON DELETE CASCADE,
creator_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
title VARCHAR(511) NOT NULL,
status VARCHAR(16) NOT NULL DEFAULT 'todo',
position INT NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE INDEX IF NOT EXISTS idx_list_items_channel ON list_items(channel_id, position);
-- Message full-text search
ALTER TABLE messages ADD COLUMN IF NOT EXISTS search_vector tsvector;
CREATE INDEX IF NOT EXISTS idx_messages_search ON messages USING GIN(search_vector);