Migration 0008 ergaenzt required/default_value/validation_rule (JSONB)
und eine Versionsnummer auf metadata_fields, plus die ausschliesslich
anfuegbare metadata_field_versions-Historie - jede Aenderung einer
Felddefinition (auch Typwechsel) erhoeht die Version und haengt einen
neuen Eintrag an, aendert nie einen bestehenden.
internal/metadatafield: Create/Update/Get/ListAll/Validate/SetValue/
ValueFor/Versions. Validate deckt alle 5 Feldtypen ab (text: optionales
Regex-Muster, number: min/max, date: JJJJ-MM-TT, bool: true/false,
select: Options-Liste). SetValue validiert VOR dem Speichern.
Pruefungen:
1. Ungueltiger Wert abgewiesen mit feldbezogener Meldung (*ErrValidation)
2. Typaenderung mit Bestandsdaten: altes Datum bleibt lesbar/unveraendert,
erneutes Speichern desselben Werts greift gegen die NEUE Regel
3. Pflichtfeld ohne Standardwert blockiert leeren Wert, MIT Standardwert
nicht
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>