Skip to content
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

Suppression des entités #53

Open
axel37 opened this issue Sep 6, 2022 · 1 comment
Open

Suppression des entités #53

axel37 opened this issue Sep 6, 2022 · 1 comment
Assignees
Labels
question Further information is requested

Comments

@axel37
Copy link
Owner

axel37 commented Sep 6, 2022

Gérer la suppression des entités, et l'empêcher quand nécessaire.

@axel37 axel37 self-assigned this Sep 6, 2022
@axel37
Copy link
Owner Author

axel37 commented Sep 6, 2022

Solution (à discuter, proof of concept réalisé avec la suppression des chiens) :

Anonymiser les entités, sans réellement les supprimer : Les données sont effacées et l'entité est marquée comme supprimée (booléen), mais elle n'est pas retirée de la base de données.
Cela permet de ne pas se casser la tête sur les relations (car elles sont préservées !) et de garder l'intégralité de l'historique de notre application (il serait toujours possible de voir les disponibilités / affectations dans le passé).

Si cette solution est retenue, prévoir :

  • Une méthode anonymiser() dans les entités concernées, qui met toutes leurs données à NULL
  • De rendre les champ nullable
  • D'ajouter un champ booléen supprimé aux entités concernées
  • D'adapter le repository pour ne renvoyer par défaut que les entités non supprimées (tout en fournissant un moyen de récupérer celles supprimées)

Note : La nature d'un champ null est d'indiquer l'absence de donnée. Il me semble que rendre un champ anonymisé null a plus de sens que de lui affecter une donnée arbitraire.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant