-
Notifications
You must be signed in to change notification settings - Fork 102
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 d'un jeu de données #2457
Comments
En effet une donnée est forcément associée à un JDD. Quand des données sont saisies dans Occtax, elles sont automatiquement envoyées aussi dans la Synthèse (qui agrège les données saisies dans Occtax, les données venant de protocoles de suivis, les données historiques ou partenaires importées...). Les JDD listent le nombre de données associées à celui-ci dans la Synthèse. Cependant quand on supprime des données saisies dans Occtax, elles sont aussi supprimées dans la Synthèse. Etes-vous certain d'avoir supprimé les données associées à ce JDD ? |
Non, c'est bien la le problème, je ne suis pas sûr de savoir comment supprimer les données. |
Avez vous fait un delete ou avez vous tronqué totalement les tables ? De mémoire, le truncate ne déclenche pas les trigger donc ne répercute pas les suppressions dans la synthèse... de mémoire |
Oui il faut supprimer les données dans la table des relevés d'Occtax. Cela les supprime aussi dans la Synthèse. |
J'ai réinitialisé la BDD geonature pour recommencer à zéro. Malheureusement, il y a encore eu un soucis dans mes pipelines d'acquisition de données, ce qui a entraîné des duplications. De plus, les données apparaissent bien dans la synthèse mais pas dans Occtax (qui n'affiche que les trois trois exemples (Ablette et Grenouille rousse). Est-ce qu'il y aurait quelque part dans la doc la requête SQL qui permet de vider complètement un dataset ? |
Si vous avez des données dans la Synthèse, mais plus dans Occtax, c'est que vous n'avez pas supprimé les données dans Occtax normalement. Car quand on supprime un relevé dans Occtax, le trigger Il faudrait plus de détails sur ce que vous avez fait pour comprendre ce qui n'a pas été fait correctement. Et vous dites que vous avez réinitialisé la BDD de GeoNature mais qu'il reste des données dans la Synthèse qui ne sont pas dans Occtax. Pouvez-vous expliciter ce que vous avez fait et ce que vous faites plus précisément ? |
Ok, en fait les données ne s'affichaient pas car je n'avais pas associé le module Occtax à mon dataset lors de la création. |
OK les données étant dans les tables du module Occtax, c'est discutable qu'elles ne soient pas affichées dans le module si leur JDD n'est pas associé au module Occtax. Il n'est pas possible de supprimer tous les relevés d'Occtax depuis l'interface et ce n'est pas un cas d'usage ni un besoin qui soit remonté jusqu'à présent. Mais il est possible de faire ça directement dans la BDD (en connaissant et maîtrisant celle-ci. Donc il me semble qu'il soit possible de lancer Mais à faire en connaissant bien la BDD de GeoNature et PostgreSQL. |
Merci pour ces infos. Je comprends que le besoin de supprimer l'ensemble des données d'un dataset n'ait pas été remonté jusqu'à présent si les données sont principalement entrée "manuellement". Nous avons développé de notre côté des pipelines d'acquisition de données depuis iNaturalist et Pl@ntNet, et on se retouve parfois avec des petits soucis qui nécessitent de relancer l'acquisition de zéro, d'où le besoin de réinitialiser les datasets correspondant. Ces pipelines sont destinés à être diffusés plus largement. Je sais que @DonovanMaillard notamment est potentiellement intéressé. |
oui on peut faire un DELETE FROM t_releves_occtax, en faisant attention aussi aux "cascade" pour virer les occurrences et dénombrements. En soit, c'est la suppression des dénombrements qui déclenchent les triggers vers la synthèse. En effet, c'est un autre sujet mais je n'oublie pas de reprendre contact pour le moissonnage depuis Inaturalist. Or dans notre cas, ca va directement aller en synthèse sans passer par occtax. |
OK je vois mieux le contexte. Si vous importez des données depuis des sources externes (iNaturalist, Pl@ntNet...) je conseillerai de ne pas les importer dans Occtax (qui est avant tout un outil de saisie d'observations) mais uniquement dans la Synthèse qui est faite pour cela. Par ailleurs, si vous avez développé des outils d'import d'iNaturalist et/ou Pl@ntNet vers GeoNature, nous sommes intéressés si vous pouvez indiquer où est le code source ? Merci. |
Ok, merci pour le conseil. Je ferais bien le test immédiatement, mais la documentation des routes n'est pas accessible : https://docs.geonature.fr/development.html#documentation-des-routes Pour l'instant, nous utilisons les routes "occtax/only/releve" puis "occtax/releve/{releve_id}/occurrence". Le code n'est pas encore dispo (il faut qu'on refasse une passe dessus) et encore moins documenté, mais on préviendra dès que ce sera le cas. Rapidement, il s'agit de pipelines ETL avec acquisition depuis iNat et Pl@ntNet via leurs APIs respectives, alignement des taxons avec l'API TaxRef, transformation vers la structure de données GeoNature et chargement dans OccTax via l'API. Le tout orchestré par Airflow |
Il n'y a actuellement pas d'API POST vers la Synthèse actuellement. En projet - #736 |
Ok c'est noté, merci ! On va donc rester sur notre approche actuelle en attendant que cette fonctionnalité soit disponible. |
Je pense quand même que ce n'est pas pertinent d'importer des données externes en masse dans le module Occtax qui est un module de saisie. |
Mais est-ce qu'il existe une alternative ? |
Pour ma part, je pense plutôt à récupérer les données via un script Python sur l'API d'iNaturaliste, puis les pousser dans une table dédiée (ou directement en synthèse?) via sqlalchemy. Ca nous épargne le manque de route Post vers la synthèse. Et en passant par une table intermédiaire, ca nous permet de déclencher certaines opérations par des triggers et/ou jointures pour le rattachement au taxref par exemple. Dans tous les cas, je ne passerai pas par Occtax effectivement, en allant directement en synthèse ça nous permet de gérer les sources et de gérer plus facilement les écarts de formats entre la source et le standard. |
Ouais ou sinon des scripts qui alimentent directement la BDD dans la table Synthèse. |
Je serai ravi de partager aux échanges sur le sujet. Jusque là on a fait au mieux avec notre connaissance (très limitée) du fonctionnement de la BDD |
Bonjour
Je n'ai pas trouvé dans la documentation comment supprimer un jeu de données qui contient des données.
J'ai essayé en supprimant les données dans la table occtax, mais les observations sont toujours là.
Merci d'avance.
The text was updated successfully, but these errors were encountered: