-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migration des clients en base de donnée #48
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La fichier de migration n'a pas encore été revu de mon côté
Les derniers changements apportés sont concentrés sur l'utilisation des deux champs
Le champ Pour les documents |
Le dernier commit ajout un script de migration dédié à la version de démonstration de l'API. Ce script va, entre autres, s'occuper de créer un mandataire de démonstration sur lequel tous les clients seront rattachés. |
ca7707c
to
ff288ab
Compare
4ef99bf
to
4387b32
Compare
Contexte
Les clients et leurs informations sont actuellement stockés dans un fichier
clients.yml
.Évolutions
clients.yml
a été remplacé la collection mongoclients
.{clients}
envoyé au serveur a été supprimé. Ce paramètre était utile aux tests unitaire, ce n'est plus nécessaire maintenant.habilitation
etrevision
ne stock plus leurclient
sous forme d'objet, mais uniquement son_id
Routes
/clients
POST /clients/
GET /clients/:clientId
PUT /clients/:clientId
Modèles
Client
Legacy
Afin d'éviter un "breaking change", deux comportements ont été gardé :
id
qui était attribué manuellement à chaque client peut désormais être remplacé par l'identifiant mongo_id
. Cependant, cetid
sert toujours aux utilisateurs de l'API et doit donc être conservé. Les futurs clients ne disposeront alors pas de ce champid
.client
précédemment enregistré dans les modèlesRevisions
etHabilitation
a été conservé plutôt que d'être remplacé par un simple_id
. Celui-ci est restitué par la méthodeClient.exposedFields()
qui isole les champs déjà présents et qui peuvent être publique.Migration
clients.yml
existant. Cette nouvelle version devra remplacer l'existante en production avant de lancer la migration.