Changeset 0.28.0 (#172)

This commit is contained in:
2026-03-11 11:22:38 +00:00
parent 07432233f7
commit 93c72daadf
31 changed files with 580 additions and 431 deletions

View File

@@ -94,16 +94,26 @@ CREATE INDEX IF NOT EXISTS idx_project_notes_note ON project_notes(note_id);
-- =========================================
-- CROSS-DOMAIN FK COLUMNS
-- =========================================
-- Denormalized project_id + workspace_id on channels.
-- Deferred FKs: channels.project_id and workspace_id declared in 005
-- without FK constraints (referenced tables didn't exist yet).
ALTER TABLE channels
ADD COLUMN IF NOT EXISTS project_id UUID REFERENCES projects(id) ON DELETE SET NULL;
DO $$ BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint WHERE conname = 'fk_channels_project'
) THEN
ALTER TABLE channels ADD CONSTRAINT fk_channels_project
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE SET NULL;
END IF;
END $$;
ALTER TABLE channels
ADD COLUMN IF NOT EXISTS workspace_id UUID REFERENCES workspaces(id) ON DELETE SET NULL;
CREATE INDEX IF NOT EXISTS idx_channels_project ON channels(project_id) WHERE project_id IS NOT NULL;
CREATE INDEX IF NOT EXISTS idx_channels_workspace ON channels(workspace_id) WHERE workspace_id IS NOT NULL;
DO $$ BEGIN
IF NOT EXISTS (
SELECT 1 FROM pg_constraint WHERE conname = 'fk_channels_workspace'
) THEN
ALTER TABLE channels ADD CONSTRAINT fk_channels_workspace
FOREIGN KEY (workspace_id) REFERENCES workspaces(id) ON DELETE SET NULL;
END IF;
END $$;
-- =========================================