-- Migration 005: Bugtracker Push-ID, Ziel-Agent, Tags und erweiterte Schweregrade -- -- HINWEIS ZUR UEBERARBEITUNG: -- Die urspruengliche Fassung nutzte PREPARE/EXECUTE mit dynamischem SQL, um -- Spalten bedingt anzulegen. Die darin enthaltenen Semikolons steckten in -- String-Literalen und wurden vom damaligen explode(';')-Installer als -- Statement-Ende missverstanden. Ergebnis: die Migration schlug still fehl, -- die Spalten push_id/target_agent/tags fehlten und jeder Bug-Report lief in -- "Unknown column 'push_id'". -- -- Jetzt plain SQL. Der Migrator toleriert gezielt "Spalte existiert bereits" -- (Fehlercode 1060) und "Index existiert bereits" (1061), sodass diese -- Migration auch auf einer bereits teilweise migrierten Datenbank durchlaeuft. ALTER TABLE bugtracker_items MODIFY COLUMN severity ENUM('idea', 'wishlist', 'low', 'medium', 'high', 'critical') NOT NULL DEFAULT 'medium'; ALTER TABLE bugtracker_items ADD COLUMN push_id VARCHAR(128) NULL AFTER occurrence_count; ALTER TABLE bugtracker_items ADD COLUMN target_agent VARCHAR(100) NULL AFTER push_id; ALTER TABLE bugtracker_items ADD COLUMN tags VARCHAR(255) NULL AFTER target_agent; ALTER TABLE bugtracker_items ADD KEY ix_bt_push_id (push_id); -- Projekt fuer das Deploymentcenter selbst. Kein Demo-Datensatz, sondern das -- Projekt, unter dem die Plattform ihre eigenen Fehler meldet. INSERT INTO dc_projects (slug, name, notes, default_cache_ttl_hours) VALUES ('deploymentcenter', 'Deployment Center', 'Zentrale Verwaltungs- & Update-Plattform', 168) ON DUPLICATE KEY UPDATE name = VALUES(name); -- Der frueher hier stehende Beispiel-Eintrag (bugtracker_items id 4) ist -- entfallen. Er wurde mit fester ID eingefuegt und waere dadurch bei jedem -- Migrationslauf auf einer produktiv genutzten Datenbank wieder aufgetaucht, -- nachdem man ihn geloescht hat.