-
Notifications
You must be signed in to change notification settings - Fork 55
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
[TECH] Remplit la colonne reconciledAt
pour les anciennes certifications (PIX-14403).
#10190
[TECH] Remplit la colonne reconciledAt
pour les anciennes certifications (PIX-14403).
#10190
Conversation
Une fois les applications déployées, elles seront accessibles via les liens suivants :
Les variables d'environnement seront accessibles via les liens suivants : |
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.
Sur mon PC, j'ai mis environ 9 million de candidats. Et une 30aine de certification-course eparpilles dans les 9 million (pour que PG galere bien a trouver les lignes eparpilles), et ca a fonctionne sans soucis !
api/db/migrations/20240924091540_add-reconciliation-date-to-former-candidates.js
Outdated
Show resolved
Hide resolved
4265906
to
e87c1f7
Compare
api/db/migrations/20240924091540_add-reconciliation-date-to-former-candidates.js
Outdated
Show resolved
Hide resolved
e87c1f7
to
e7ead71
Compare
e7ead71
to
87e81ba
Compare
|
🦄 Problème
Maintenant que l’on enregistre et utilise la date de reconciliation, il y a un rattrapage à faire sur les données précédentes.
🤖 Proposition
Ajout d'une migration.
Si le userId est rempli dans certification-candidates, alors cette migration remplit la colonne
reconciledAt
de certification-candidates qui ont créé un certification-course (certification-courses.createdAt is not null
)🌈 Remarques
Cette migration est faite via un
knex.raw()
parce qu'on a perdu pas mal de temps à se battre sur les bindings knex.Warning
Une fonction down a été ajoutée car les seeds étant joués après les migrations, il nous faut pouvoir rollback cette migration et la rejouer afin d'éxecuter la requête sur les données inscrites à posteriori des migrations initiales.
💯 Pour tester
Lancer la migration sur les seeds et vérifier via la requête suivante que :
certification-candidates
ayant unuserId
et unsessionId
non nuls aient une datereconciledAt
non nulle.reconciledAt
correspond aucreatedAt
du certification-course du candidatLe résultat devrait être équivalent à :