Quelltext des aktuellen Standes
-- Migration 234: Statusseite – Störungsmeldungen aus dem Monitoring vorschlagen
--
-- Ein Alarm des Monitorings und die Störungsmeldung auf der Statusseite
-- beschreiben denselben Vorfall, entstanden aber getrennt: Der Alarm lief auf,
-- die Meldung wurde von Hand abgetippt. Offene Alarme erscheinen jetzt als
-- Vorschlag in der Verwaltung; übernommen wird er weiterhin bewusst.
-- ------------------------------------------------------------
-- 1. Herkunft einer Störungsmeldung
-- ------------------------------------------------------------
-- Hält fest, aus welchem Alarm die Meldung entstanden ist. Daraus folgt
-- zweierlei: Der Alarm wird nicht erneut vorgeschlagen, und meldet ihn das
-- Monitoring später als behoben, weist die Verwaltung darauf hin.
ALTER TABLE `status_incidents`
ADD COLUMN `monitoring_event_id` INT UNSIGNED NULL DEFAULT NULL
COMMENT 'Alarm des Monitorings, aus dem die Meldung entstand';
ALTER TABLE `status_incidents`
ADD INDEX `idx_status_incidents_monitoring` (`monitoring_event_id`);
-- ------------------------------------------------------------
-- 2. Verworfene Vorschläge
-- ------------------------------------------------------------
-- Nicht jeder Alarm gehört auf eine öffentliche Statusseite. Ein einmal
-- verworfener Vorschlag bleibt verworfen, statt bei jedem Aufruf erneut zu
-- erscheinen.
--
-- Bewusst ohne Fremdschlüssel auf die Alarme: Die Vorschlagsliste liest nur
-- Alarme, die es gibt – eine Zeile ohne zugehörigen Alarm bleibt damit
-- wirkungslos, und die Statusseite hängt nicht am Schema eines Moduls, das
-- abgeschaltet sein kann.
CREATE TABLE IF NOT EXISTS `status_suggestion_dismissals` (
`monitoring_event_id` INT UNSIGNED NOT NULL,
`dismissed_by` BIGINT UNSIGNED NULL,
`dismissed_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`monitoring_event_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
COMMENT='Monitoring-Alarme, die nicht auf die Statusseite sollen';