betagouv / rdv-service-public

Prise de RDV pour les services publics
https://rdv.anct.gouv.fr
GNU Affero General Public License v3.0
17 stars 2 forks source link

Permettre de charger un dump sans données usager #4371

Closed francois-ferrandis closed 3 months ago

francois-ferrandis commented 3 months ago

Contexte

Lors du travail de conception d'une interface de gestion des motifs sur plusieurs orgas, j'ai eu besoin de charger les motifs configurés en prod pour travailler sur de vraies données.

Dans ce cas, je n'avais pas du tout besoin des données usager. Or, ces données sont parmi les plus longues à charger et anonymiser, cf #3314.

Solution

J'ai pensé à permettre de passer un liste de tables en argument et à manipuler un array en bash, et puis j'ai cherché comment écrire du bash, et puis j'ai fermé tous mes onglets et j'ai "réalisé" que c'était une meilleur idée d'avoir des flags qui décrivent quel ensemble charger.

Pour le moment j'introduit juste le flag --ignore-user-data, mais on pourrait imaginer --motifs-only, --agents-only, --no-receipts, bref, se faire des "modes" de chargement custom.

Checklist

francois-ferrandis commented 3 months ago

à mon avis il ne faut pas hésiter à transformer les scripts bash en ruby quitte à faire plein d’appels systèmes, ça permet au moins de faire le parsing d’argument en ruby plutôt qu’en bash

Oui, j'ai eu très envie, mais je me souviens avoir essayé une fois et qu'on perdait un peu l'inter-opérabilité des outils UNIX.

on pourra envisager de faire la même chose côté pg_dump pour ne pas du tout télécharger les données sensibles. ça prend combien de temps un pg_dump de la prod aujourd’hui environ ?

Le dump est fait par Scalingo, nous n'avons pas la main dessus. Ou alors tu parles d'autre chose ?

adipasquale commented 3 months ago

ah ok pardon je pensais qu’on faisait des dumps manuellement avec un tunnel et pg_dump ! très clair merci

une idée qui me vient en tête là tout de suite c’est qu’une fois que metabase sera alimenté automatiquement on pourra peut-être faire des dumps de la db anonymisée de metabase ?