-
Notifications
You must be signed in to change notification settings - Fork 56
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
[FEATURE] Créer un script pour supprimer des références dans "snapshot" de la table "knowledge-element-snapshots" (PIX-15756) #11231
base: dev
Are you sure you want to change the base?
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 : |
aa9979d
to
0a8d8bb
Compare
26d0bdf
to
95292f4
Compare
95292f4
to
95a6177
Compare
Je rebondis sur la remarque (Il faudra faire une 2ieme PR pour arréter d'enregistrer ces données dans les snapshot) : ne devrait-on pas d'abord arrêter d'enregistrer avant de nettoyer les données ? |
await dependencies.pause(options.pauseDuration); | ||
} | ||
chunkDone += 1; | ||
logInfo(`${chunkDone}/${nbChunk} chunk done ! `); |
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.
logInfo(`${chunkDone}/${nbChunk} chunk done ! `); | |
logInfo(`${chunkDone}/${nbChunk} chunks done ! `); |
.where('id', id) | ||
.update({ | ||
// we keep only these property from snapshot | ||
snapshot: JSON.stringify( |
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.
on a lodash côté backend, on peut simplifier l'écriture avec la fonction pick
:
cleanedSnapshot = pick(snapshot, ['source', 'status', 'skillId', 'answerId', 'createdAt', 'earnedPix', 'competenceId'])
...
snapshot: JSON.stringify(cleanedSnapshot)
@HEYGUL oui c'est ce qu'il faut qu'on fasse avant pour éviter de relancer plusieurs le script. |
.orderBy('id', 'asc'); | ||
} | ||
function getKnowlegdeElementSnapshotCount() { | ||
return getKnowlegdeElementSnapshotsQuery().count().first(); |
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.
todo : on aimerait faire un count(1)
vu la taille de table
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.
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.
.count({ count: 1 })
ce genre d'écriture devrait fonctionner
🥞 Problème
Dans le cadre de la mise en conformité RGPD, on souhaite supprimer les références à
userId
/assessmentId
dans le champ jsonbsnapshot
🥓 Proposition
Faire un script qui supprime les données déjà présentes.
🧃 Remarques
Il faudra faire une 2ieme PR pour arréter d'enregistrer ces données dans les snapshot
😋 Pour tester
scalingo -a pix-api-review-prxxx pgsql-console
select snapshot from "knowledge-element-snapshots"
userId
assessmentId
scalingo -a pix-api-review-prxxx run "node scripts/prod/clean-ke-snapshots.js"
userId
assessmentId
select snapshot from "knowledge-element-snapshots"