Closed vincentdoba closed 9 years ago
Les requêtes à jouer sur la base pour arriver au status unique :
ATTENTION : CES REQUÊTES DOIVENT ÊTRE JOUÉES DANS CET ORDRE
db.invoices.update({"canceled": true}, {$set: {"status":"canceled"}, $unset: {"paymentStatus": "", "canceled":"", "affectationStatus":""}},{"multi":true})
db.invoices.update({"paymentStatus": "paid"}, {$set: {"status":"paid"}, $unset: {"paymentStatus": "", "canceled":"", "affectationStatus":""}},{"multi":true})
db.invoices.update({"affectationStatus": "affected"}, {$set: {"status":"allocated"}, $unset: {"paymentStatus": "", "canceled":"", "affectationStatus":""}},{"multi":true})
db.invoices.update({"affectationStatus": "unaffected"}, {$set: {"status":"created"}, $unset: {"paymentStatus": "", "canceled":"", "affectationStatus":""}},{"multi":true})
Ces requêtes ont été testées sur ma (@vincentdoba) base locale et sur une copie de la base de production.
J'ai joué les requêtes sur la base de prod. Avant cela j'ai copié la base de prod dans invoice@LT_BACKUP_ticket_47
. Cette base pourra être supprimée d'ici un mois s'il n'y a pas de problèmes vis-à-vis de ce changement de modèle d'ici là.
En refléchissant au status sur les factures et en refaisant un schéma, j'ai constaté qu'en fait il n'y avait que 4 états possibles pour les factures :
Afin de simplifier les requêtes, on peut donc mettre ces 4 états dans un même champ status avec les noms suivants :
Les tâches à effectuer sont donc les suivantes :
Pour résumer et avoir une vision plus complète des changements de status, un petit schéma :
On peut même à terme imaginer supprimer le status Créée en forçant l'allocation directement à la création de la facture.