Open Chatewgne opened 5 months ago
J'ai une autre proposition plus radicale.
Supprimer NoDeleteMixin
, comme discuté et validé en 2020 lors du premier groupement de commandes : https://github.com/GeotrekCE/Geotrek-admin/issues/2136
On a reporté cela à cause de questions à trancher et de complexité, même cette suppression logique des objets plutôt que physique est clairement à remettre en cause :
deleted
à true
where deleted=true
)Merci pour les éléments de réponse @camillemonchicourt
Point de vigilance d'après @submarcos, si l'on supprime ce mixin, il faudra faire attention aux mécanismes d'invalidation de cache qui peuvent se baser sur ce champ deleted
, ça peut avoir des conséquences
Bonjour,
nous avons récemment révisé le système de suppression en cascade (exemple de cascade : la suppression d'une pratique sportive qui entraînait la suppression de tous les itinéraires associés à cette pratique), ce afin d'éviter la perte involontaire de données, avoir un système plus logique et homogène, et également mieux tracer la raison des suppressions dans l'historique : https://github.com/GeotrekCE/Geotrek-admin/pull/3549. Désormais la plupart des liens entre les objets sont protégés, c'est à dire qu'on ne peut pas supprimer une pratique (catégorie) si des itinéraires (objets) y sont encore associés.
Mais suite à ce travail on peut désormais rencontrer un autre problème : ne pas réussir à supprimer une catégorie malgré la suppression préalable des objets qui lui sont associés. Cela est du au fait que les objets ne sont pas réellement supprimés dans la base, il sont conservés mais leur champ
deleted
est passé àTrue
(NoDeleteMixin
dans les modèles).Ce ticket vise à rassembler les réflexions autour des mécanismes de suppression pour arriver à quelque chose de plus satisfaisant.
Pistes :
NoDeleteMixin
aux catégoriesNoDeleteMixin
de sorte à déplacer les objets "supprimés" dans une autre table dédiée, au lieu de les garder dans la même table