Some checks failed
Deploy Development / deploy (push) Successful in 52s
Test Suite / pytest-backend (push) Failing after 5m3s
Test Suite / k6 /api/health Baseline (push) Has been skipped
Test Suite / playwright-smoke (push) Has been skipped
Test Suite / lint-backend (push) Successful in 3s
Test Suite / compose-smoke (push) Has been skipped
join_gate, strand_project_id, Join-Auto-Schalten, multi-active Gates, Progression-Demo und PO-Lock-Spec. FE: Today strang-gruppiert, Join-Warteliste in Kontrolle. Co-authored-by: Cursor <cursoragent@cursor.com>
27 lines
916 B
SQL
27 lines
916 B
SQL
-- AP-A1-PM-2: Progression graph — join_gate, strand binding, recurring strand
|
|
|
|
ALTER TABLE roadmap_items
|
|
DROP CONSTRAINT IF EXISTS roadmap_items_item_type_check;
|
|
|
|
ALTER TABLE roadmap_items
|
|
ADD CONSTRAINT roadmap_items_item_type_check
|
|
CHECK (item_type IN (
|
|
'milestone', 'review_gate', 'maturity_stage', 'work_cycle', 'join_gate'
|
|
));
|
|
|
|
ALTER TABLE roadmap_items
|
|
ADD COLUMN IF NOT EXISTS strand_project_id UUID NULL
|
|
REFERENCES projects(id) ON DELETE SET NULL;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_roadmap_items_strand
|
|
ON roadmap_items(tenant_id, strand_project_id)
|
|
WHERE strand_project_id IS NOT NULL;
|
|
|
|
ALTER TABLE recurring_elements
|
|
ADD COLUMN IF NOT EXISTS project_id UUID NULL
|
|
REFERENCES projects(id) ON DELETE SET NULL;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_recurring_elements_project
|
|
ON recurring_elements(tenant_id, project_id)
|
|
WHERE project_id IS NOT NULL;
|