Inist-CNRS / lodex

Linked Open Data EXperiment
https://www.lodex.fr/
Other
53 stars 12 forks source link

l'annulation de l'import d'un nouveau fichier dans un corpus existant engendre la suppression de toutes les données. #2148

Open AnaelKremer opened 2 weeks ago

AnaelKremer commented 2 weeks ago

Si l'on souhaite réaliser de nouveaux imports de fichiers dans un corpus déjà existant, et si par erreur on se trompe de fichier par exemple et que l'on souhaite annuler l'import pendant la phase de chargement, ou si ce dernier échoue pour une quelconque raison, alors l'annulation engendre la suppression de toutes les données de l'instance.

Serait-il possible de corriger le code pour qu'en cas d'annulation on retrouve notre instance telle quelle avant annulation du dernier import ?

Mais cela n'est peut être pas si simple, par exemple si le dernier import est sensé écraser des données déjà présentes donc avec le même uri mais des propriétés différentes...

touv commented 2 weeks ago

lodex fonctionne comme cela, si il recoit une demande d'annulation il vide la base: https://github.com/Inist-CNRS/lodex/blob/master/src/api/workers/import.js#L58-L60

Et effectivement, ce n'est pas simple car si on pourrait retrouver les nouveaux documents, comme restaurer les documents modifiés par une mise à jour via le même identifiant.

La solution la plus propre serait gérer une transaction (comme pour les BDD classiques) mais avec mongodb ce fonctionnement n'est pas si simple à mettre en place, à étudier