-- „Übernahme" als eigenes Ereignis. -- -- Aus dem Gespräch vom 17.09.2026: wenn eine Person von `Extern` auf `Intern` -- wechselt, ist das eine Übernahme — ein Vorgang wie Neueinstellung, -- Wiedereinstellung oder Versetzung, und er soll als solcher im Protokoll -- stehen und im Berichtemanager auswertbar sein. -- -- Der umgekehrte Weg (Intern auf Extern) bekommt ausdrücklich **kein** -- Ereignis: eine Übernahme zurückzunehmen gibt es fachlich nicht, und ein -- Ereignis dafür wäre eine Erfindung. -- -- ═══ Warum das hier allein steht ═══════════════════════════════════ -- -- Dieselbe Begründung wie bei Migration 20260910140000 (Lehrling): -- scripts/migrate.mjs fährt jede Migration in einer Transaktion. Seit -- PostgreSQL 12 darf `add value` darin stehen — **benutzen** lässt sich der -- neue Wert in derselben Transaktion aber nicht. Die Logik, die ihn schreibt, -- steht deshalb in der nächsten Datei; hier ist der Wert nach dem Commit -- verfügbar. -- -- Und wie dort gilt: ein Enum-Wert lässt sich nicht wieder entfernen. In -- dieser Datei steht darum nichts weiter, was man gleichzeitig zurücknehmen -- wollen könnte. alter type history_event_type add value if not exists 'Übernahme'; -- ═══ Gegenprobe ═══════════════════════════════════════════════════ -- -- Über pg_enum, wo die Beschriftung schlichter Text ist: ein Vergleich gegen -- 'Übernahme'::history_event_type scheiterte in derselben Transaktion mit -- „unsafe use of new value". do $$ declare anzahl int; begin if not exists ( select 1 from pg_enum e join pg_type t on t.oid = e.enumtypid where t.typname = 'history_event_type' and e.enumlabel = 'Übernahme' ) then raise exception 'history_event_type kennt Übernahme nicht.'; end if; -- Die elf bisherigen Werte müssen stehen bleiben. Ein Enum, das statt -- zwölf Werten nur noch den neuen trägt, hätte jede Historienzeile -- unlesbar gemacht. select count(*) into anzahl from pg_enum e join pg_type t on t.oid = e.enumtypid where t.typname = 'history_event_type'; if anzahl <> 12 then raise exception 'history_event_type hat % Werte, erwartet werden 12.', anzahl; end if; end $$;