enhancement
major
minor
major
minor
major
#29512
Attribute in tl.model, die de-facto mandatory sind, auch als mandatory deklarieren
Mehrere Attribute des Moduls tl.model sind de-facto mandatory, weil ihre Datenbankspalten mandatory sind, im Modell aber nicht als mandatory deklariert.
Betroffen: TLNamedPart#name, model (in TLModel, TLModule, TLType, TLTypePart), TLType#module, scope (in TLEnumeration, TLPrimitive, TLAssociation, TLClass), owner (in TLStructuredTypePart, TLClassifier), TLClassifier#index sowie alle Attribute von TLModuleSingletons.
Zusätzlich war mandatory nur auf der abstrakten Deklaration TLTypePart#type gesetzt und damit in den überschreibenden Attributen wirkungslos. mandatory wird von einer Überschreibung nicht geerbt (siehe ModelResolver.configureClassPart), deshalb muss das Flag jeweils auf dem konkreten Attribut deklariert werden.
Migration
Das Modell liegt persistent in der Datenbank, das mandatory-Flag wird pro Attribut gespeichert. Die Migration Ticket_29512_mandatory_model_attributes (Modul tl-element) setzt das Flag für die betroffenen Attribute und passt die Modell-Baseline an. Für Anwendungen sind keine weiteren Schritte nötig; die Datenbankschemata bleiben unverändert.