etalab / transport-site

Rendre disponible, valoriser et améliorer les données transports
https://transport.data.gouv.fr
191 stars 30 forks source link

restore_db.sh: supprimons les jobs par défaut #3948

Closed ptitfred closed 4 months ago

ptitfred commented 4 months ago

Le comportement par défaut change : désormais les jobs Oban du dump sont supprimés sans interroger l'utilisateur.

Pour conserver les jobs il faut désormais utiliser le flag (optionnel) --preserve-oban-jobs.

Autre changement : le truncate table feedback aurait dû être truncate table user_feedback.

ptitfred commented 4 months ago

@ptitfred Merci d'avoir relevé le sujet de user_feedback, on avait raté ça lors du refactor #3894 cc @vdegove.

Il est possible que contact_id soit nul quand le contact n'existe plus ou que la personne n'est pas connectée ou indique un e-mail qui n'est pas connu.

Avec ces éléments, je me demande s'il ne vaut pas mieux continuer à truncate la table.

J'ai testé en local : tu tronques plusieurs fois de suite (donc la table est déjà vide) et ça continue de tronquer les 3 tables référencées dans le schéma. Truncate ne scanne pas le contenu et se contente du schéma pour son comportement cascade.

En revanche la précaution serait nécessaire si on faisait un delete contact cascade suivi d'un truncate table user_feedback.

ptitfred commented 4 months ago

Ceci étant dit, le truncate est parfaitement innocent et sa durée est parfaitement négligeable après le restore en lui-même. Donc j'entendrais qu'on le conserve par précaution pour l'avenir.

AntoineAugusti commented 4 months ago

@ptitfred Comme tu souhaites. Le risque est limité, en cas de présence de données personnelles/sensibles dans cette table on ira immédiatement corriger à la source j'imagine en plus.