-
Notifications
You must be signed in to change notification settings - Fork 31
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
Migration TaxRef #271
Comments
Effectivement cela doit donner le même résultat. |
C'est bien ce qui est le plus troublant : il n'y a aucun cd_nom null dans la table ! |
OK à voir si il y a une améliorations à faire dans le script de migration ? |
Autant pour moi, j'ai bien environ 850 cd_nom qui sont null dans ma table, j'avais du mal vérifier la première fois... Est-ce que cela peut provenir d'une ancienne migration de Taxref 11 vers Taxref 13 que j'ai tenté de réaliser il y a quelques mois sans succès ? Il ne me semblait pas avoir exécuté le script Il y a un moyen de remettre Taxref 11 dans la table |
Je ne sais qu'elle est l'origine des cd_nom null. Il n'y a aucune requête de mise à jour de cd_nom dans les scripts de migration à ma connaissance. Qu'entends tu par remettre Taxref 11 dans la table bib_noms? |
Effectivement, après avoir épluché la documentation, ça n'a pas vraiment de sens de vouloir remettre Taxref dans la table bib_noms, désolé. Finalement, le plus simple, c'est que je récupère un table bib_noms non corrompue dans une de mes anciennes sauvegardes et que je la charge dans la table actuelle. D'après ce que j'ai pu voir, j'ai une table bib_noms datant de septembre dernier où il n'y a pas de valeurs nulles et où les id_nom ont l'air d'avoir les mêmes cd_noms que dans ma table actuelle (sauf pour les nuls bien sûr). Mais je vais quand même vérifier qu'ils sont bien tous identiques avant de charger l'ancienne table. Qu'en penses-tu ? |
C'est une bonne chose de repartir sur des données propres |
Attention si tu es avec un postgresql < 12 il y a une version nouvelle version corrective pour le passage de taxref v11 à v13 |
Ok, merci, j'ai une version 10.17 donc je suis concerné. Je vais restaurer la table "bib_noms", passer en version 1.8.1 et ensuite effectuer la migration. Je viens de remonter mes différentes sauvegardes : a priori, ma table "bib_noms" était encore non corrompue début juin. Je suis en train de regarder l'avant-dernière sauvegarde que j'ai faite il y a une semaine pour comprendre d'où le problème a pu venir. La seule chose que j'ai faite de travers a priori, c'est d'avoir tenté une première fois la migration de Taxref 11 vers Taxref 14 sans passer par la 13 (avec un Taxhub 1.8.0). Je n'ai vu qu'après sur Github qu'il fallait passer d'abord par la 13 pour aller de la 11 vers la 14. |
Je viens de me remettre sur le problème. J'ai restauré la table Même comportement que la semaine dernière : j'ai de nouveau des enregistrements qui sont supprimés dans la table Voici le log que je reçois (je n'ai mis que le début). Est-ce cela dit quelque chose à quelqu'un ?
Merci ! |
En fouinant un peu plus, visiblement, ce serait ces lignes dans le script
|
Quelques informations complémentaires. En repassant le code du script Premier bout de code
Les 732 enregistrements de la table Second bout de code
Parmi ces 732 enregistrements, 455 n'ont pas de Dernier bout de code
Si je comprends bien l'utilité de ce dernier bout, ces lignes devraient faire passer le champ Est-ce que ces explications éclaircissent mon problème ? Si mon raisonnement est juste, je pourrai dans ce cas peut-être supprimer arbitrairement les 455 enregistrements en question ou passer leur champ Sinon, étant donné que nous n'avons que 400 espèces identifiées dans notre synthèse, et qu'après vérification, leur cd_nom n'a pas changé entre Taxref 11 et 13, il est peut-être plus simple dans mon cas d'écraser Taxref 11 par Taxref 13 sans passer par l'étape "détection des changements de cd_nom dans la synthèse" ? |
Effectivement le script ne prend en compte que les cas des cd_nom ayant un cd_nom de remplacement. C'est une limitation actuelle du au fait que nous n'avons jamais réellement eu de cd_nom sans cd_nom de remplacement. Il faudrait que l'on y remédie. Par contre je suis étonnée de la quantité de cd_nom présent dans bib_nom qui sont supprimés. Vous avez ajouté tout le taxref dans bib_nom? Si c'est le cas sachez que la version 2.7 de GeoNature ajoute la fonctionnalité de ne pas avoir de liste prédéfinie pour un jdd et d'éviter ce contournement (de mettre tout taxref dans bib_noms). Les scripts de migrations sont particulièrement utiles dans le cas ou vous avez des médias ou des attributs dans taxref. Si vous n'en avez pas ou peu je vous conseillerais de nettoyer votre table bib_noms de façon à ce qu'elle ne contienne que des données reliées à des attributs, liste ou médias de façon à limiter le nombre de changement. Et si vous ne souhaitez pas limiter la saisie des taxons dans occtax d'utiliser la fonctionnalité aucune liste de GeoNature (PnX-SI/GeoNature#1315). |
OK @amandine-sahl, merci pour ce retour. |
Ok, merci pour le retour ! Quand je suis arrivé ici, j'ai repris une instance de GeoNature déjà installée et je n'avais jamais eu l'occasion de jeter un oeil à la table bib_noms. Je pense que je n'ai pas encore bien saisi son utilité, si ce n'est qu'elle fait le lien entre Taxref et les tables gérant les listes, les attributs et les médias. Du coup, je peux vous dire qu'il y a bien tout Taxref 11 dans cette table de mon côté, donc environ 547 000 enregistrements ! Dans ce cas, je vais nettoyer cette table. Est-ce que je laisse le ticket ouvert par rapport au problème qui resterait à gérer (les cd_nom_remplacement vides) ou est-ce que je le ferme car c'est un problème marginal ? |
bib_noms sert à faire des listes de taxons, notamment pour limiter la saisie Occtax aux taxons connus de ton territoire. On réfléchit à supprimer bib_noms mais garder la possibilité de créer des listes de taxons pour Occtax ou pour des protocoles particuliers. |
Ok, c'est bon, la migration vers Taxref 13, puis Taxref 14 s'est bien passé vendredi dernier ! Merci beaucoup pour votre aide ! :) |
Du coup je peux fermer le ticket? |
Oui, pas de problème, je te le ferme même ! |
Il y avait quand même cette remarque :
A mettre dans un autre ticket @amandine-sahl ? |
Bonjour,
Je suis en train de migrer notre référentiel TaxRef 11 vers TaxRef 13. Lors de l'exécution du script
1.1_taxref_changes_detections.sql
, la tabletmp_taxref_changes.comp_grap
ne peut pas être créée ce qui visiblement bloque la suite de la migration. Après quelques recherches, cela vient visiblement de la ligne 13 à cet endroit :sort(array_agg(cd_nom))
. L'exécution de ce code me renvoie l'erreur suivante :array must not contain nulls
.Visiblement, la fonction
sort()
doit ordonner les "cd_nom" dans les tableaux d’agrégats. Du coup, j'ai remplacésort(array_agg(cd_nom))
pararray_agg(cd_nom ORDER BY cd_nom)
ce qui a l'air de produire le résultats attendu (tri des "cd_nom" dans les tableaux d'agrégats).Qu'en pensez-vous ?
The text was updated successfully, but these errors were encountered: