30 lines
1.0 KiB
MySQL
30 lines
1.0 KiB
MySQL
|
|
-- AP1.4b: Plan-Ist-Verknüpfung für Evidence und Reviews
|
||
|
|
|
||
|
|
ALTER TABLE evidence
|
||
|
|
ADD COLUMN roadmap_item_id UUID NULL REFERENCES roadmap_items(id) ON DELETE SET NULL;
|
||
|
|
|
||
|
|
ALTER TABLE reviews
|
||
|
|
ADD COLUMN roadmap_item_id UUID NULL REFERENCES roadmap_items(id) ON DELETE SET NULL;
|
||
|
|
|
||
|
|
CREATE INDEX idx_evidence_roadmap_item ON evidence(tenant_id, roadmap_item_id)
|
||
|
|
WHERE roadmap_item_id IS NOT NULL;
|
||
|
|
CREATE INDEX idx_reviews_roadmap_item ON reviews(tenant_id, roadmap_item_id)
|
||
|
|
WHERE roadmap_item_id IS NOT NULL;
|
||
|
|
|
||
|
|
-- Bestehende milestone_id-Verknüpfungen spiegeln (RoadmapItem behält oft dieselbe UUID)
|
||
|
|
UPDATE evidence e
|
||
|
|
SET roadmap_item_id = e.milestone_id
|
||
|
|
WHERE e.milestone_id IS NOT NULL
|
||
|
|
AND EXISTS (
|
||
|
|
SELECT 1 FROM roadmap_items ri
|
||
|
|
WHERE ri.id = e.milestone_id AND ri.tenant_id = e.tenant_id
|
||
|
|
);
|
||
|
|
|
||
|
|
UPDATE reviews r
|
||
|
|
SET roadmap_item_id = r.milestone_id
|
||
|
|
WHERE r.milestone_id IS NOT NULL
|
||
|
|
AND EXISTS (
|
||
|
|
SELECT 1 FROM roadmap_items ri
|
||
|
|
WHERE ri.id = r.milestone_id AND ri.tenant_id = r.tenant_id
|
||
|
|
);
|