Cette PR ajoute la gestion des compositions sur les classes persistées, pour les sauvegarder dans une colonne au format JSON en base de données.
Une composition a donc maintenant un SqlName comme les autres propriétés, et il devient donc possible de surcharger son trigramme localement.
Générateurs SQL
Avant : Les compositions dans les classes persistées étaient ignorées et non générées en SQL
Maintenant : On génère une colonne de type json/jsonb pour la composition
Générateur C
Avant : Les compositions dans les classes persistées sont générées avec un attribut [NotMapped]
Maintenant : On ne met plus [NotMapped] mais les attributs [Column] et [Required] (si nécessaire) à la place, et la configuration nécessaire pour EF Core est ajoutée dans le DbContext
Remarque : l'annotation [Required] a été ajoutée pour toutes les compositions obligatoires (y compris non persistées), de façon à être raccord avec le fait qu'on génère un required en requiredNonNullable sur les compositions.
Générateurs Java/Php
Les compositions sont générées comme des propriétés normales, ce qui ne marche probablement pas. Cette PR ne touche pas à ces générateurs donc ça va continuer de ne pas marcher comme avant 🙂
Cette PR ajoute la gestion des compositions sur les classes persistées, pour les sauvegarder dans une colonne au format JSON en base de données.
Une composition a donc maintenant un
SqlName
comme les autres propriétés, et il devient donc possible de surcharger son trigramme localement.Générateurs SQL
json
/jsonb
pour la compositionGénérateur C
[NotMapped]
[NotMapped]
mais les attributs[Column]
et[Required]
(si nécessaire) à la place, et la configuration nécessaire pour EF Core est ajoutée dans le DbContextRemarque : l'annotation
[Required]
a été ajoutée pour toutes les compositions obligatoires (y compris non persistées), de façon à être raccord avec le fait qu'on génère unrequired
enrequiredNonNullable
sur les compositions.Générateurs Java/Php
Les compositions sont générées comme des propriétés normales, ce qui ne marche probablement pas. Cette PR ne touche pas à ces générateurs donc ça va continuer de ne pas marcher comme avant 🙂