Générer les entités
Générer les entités
La commande entities generate permet de générer les fichiers d’entités utilisés par un projet OIP.
Elle génère notamment :
- les fichiers de manipulation des entités dans le dossier entities ;
- les fichiers de migration du modèle de données dans le dossier migrations, si des changements sont détectés.
La commande peut être utilisée selon deux modes :
- un mode legacy (deprecated), basé sur le fichier config/entities/entities.config.mjs ;
- un mode OAS, basé sur un fichier de configuration au format OpenAPI.
Utilisation
Pour lancer la génération à partir d’une configuration OAS :
Option disponible
Option | Type | Valeur par défaut | Description |
|---|---|---|---|
--oas-config | boolean | false | Génère les fichiers d’entités à partir d’un fichier de configuration au format OpenAPI. |
Fichier de configuration des entités
Un unique fichier de configuration des entités est attendu dans le dossier suivant :
Le fichier attendu dépend du mode de génération utilisé.
Mode legacy
Lorsque la commande est exécutée sans l’option --oas-config, le fichier attendu est :
Ce fichier peut notamment être généré à partir d’OIP Data.
Mode OAS
Lorsque la commande est exécutée avec l’option --oas-config, le fichier attendu doit respecter le format suivant :
Les extensions supportées sont :
- .yml ;
- .yaml ;
- .json.
Ce fichier est généralement fourni par l’architecte responsable du projet.
Exemple de configuration legacy
Fichiers générés
Après exécution de la commande, la structure générée peut contenir les éléments suivants :
La commande génère notamment :
- le fichier entities/entities.mjs ;
- un fichier entities/<Entity>/index.mjs pour chaque entité ;
- les fichiers nécessaires à la manipulation des entités ;
- une migration dans le dossier migrations, si un changement est détecté dans le modèle de données.
Génération des migrations
Si des changements sont détectés dans le modèle de données, par exemple l’ajout d’une entité ou d’une propriété, un nouveau fichier de migration est généré dans le dossier migrations.
Le nom d’un fichier de migration généré suit le format suivant :
Attention
Les fichiers de migration déjà exécutés en base de données ne doivent pas être supprimés, modifiés ou renommés.
Cela concerne notamment les migrations exécutées via une commande de type migrate:dev dans le projet.
Modifier une migration déjà appliquée peut entraîner des incohérences entre le modèle de données du projet et l’état réel de la base de données.
Remarques
La commande doit être exécutée depuis le projet concerné.
Avant de lancer la génération, il est recommandé de vérifier que le fichier de configuration utilisé correspond bien au mode de génération souhaité.
Si le modèle de données évolue, vérifiez systématiquement les migrations générées avant de les exécuter.