Quelltext des aktuellen Standes
-- Migration 232: Sammelstörung – Meldungen an ein übergeordnetes Ticket hängen
--
-- Meldet eine Störung sich zehnfach, wurden bisher zehn Tickets einzeln
-- beantwortet und geschlossen. Eine Meldung hängt jetzt an genau einer
-- Sammelstörung; die Antwort dort erreicht alle Melder, das Schließen dort
-- schließt sie mit.
--
-- Eine Spalte statt eines weiteren Verknüpfungstyps: `ticket_links` erlaubt
-- beliebig viele Beziehungen, eine Meldung gehört aber zu genau einer
-- Sammelstörung. Die Eindeutigkeit steht damit im Schema, nicht in der Prüfung.
ALTER TABLE `tickets`
ADD COLUMN `parent_ticket_id` INT UNSIGNED NULL DEFAULT NULL
COMMENT 'Übergeordnete Sammelstörung' AFTER `location_id`;
ALTER TABLE `tickets`
ADD INDEX `idx_tickets_parent` (`parent_ticket_id`);
-- Verschwindet die Sammelstörung, bleiben die Meldungen bestehen und stehen
-- wieder für sich.
ALTER TABLE `tickets`
ADD CONSTRAINT `fk_tickets_parent` FOREIGN KEY (`parent_ticket_id`)
REFERENCES `tickets`(`id`) ON DELETE SET NULL;