PnX-SI / GeoNature-atlas

Application WEB permettant de générer des fiches espèces publiques à partir d'observations faune/flore
GNU General Public License v3.0
44 stars 46 forks source link

Problème dans GeoNature-atlas / data / update_vm_observations.sql #346

Closed titus0039 closed 2 years ago

titus0039 commented 2 years ago

Bonjour,

Nous avons eu besoin de mettre à jour atlas.vm_observations et pour cela je me suis grandement inspiré du fichier : update_vm_observations.sql . Mais après quelques tests, j'ai remarqué que la carte sur la "fiche espère" affichait un loader infini et une erreur 500 sur cette API : /api/observationsMaille/

En comparant le code de création de vm_observations_mailles dans le fichier update_vm_observations.sql et l'ancien code que j'avais sauvegardé, je me suis rendu compte qu'il manquait cette ligne : "date_part('year'::text, obs.dateobs) AS annee" Car la fonction vmObservationsMaillesRepository.getObservationsMaillesChilds fait un select sur 'annee' : https://github.com/PnX-SI/GeoNature-atlas/blob/master/atlas/modeles/repositories/vmObservationsMaillesRepository.py#L18

J'ai donc ajouté la ligne manquante "date_part('year'::text, obs.dateobs) AS annee" dans la vm_observations_mailles , sous "m.geojson_maille" : https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/update_vm_observations.sql#L295

Puis réalisé un "SELECT RefreshAllMaterializedViews('atlas');" (peut-être pas nécessaire).

Désormais, l'api /api/observationsMaille/ renvoie bien une 200 et une réponse JSON.

Avez-vous remarqué le même problème ?

Autre chose, après l'exécution de ce fichier update_vm_observations.sql, j'ai eu cette erreur : SQL Error [54000]: ERREUR: la ligne index requiert 8432 octets, la taille maximum est 8191 sur cet index : CREATE INDEX ON atlas.vm_observations_mailles USING btree (geojson_maille COLLATE pg_catalog."default"); https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/update_vm_observations.sql#L302

Avez-vous des informations là-dessus ? Savez vous comment la corriger ?

Par avance merci.

Thierry Boyer PNR Oise - Pays de France

camillemonchicourt commented 2 years ago

Bonjour,

Ce fichier update_vm_observations.sql avait été fait pour simplifier la mise à jour des vues matérialisées, mais il duplique aussi pas mal de code de création de la BDD et celle-ci a évolué depuis, donc update_vm_observations.sql n'est plus à jour et nous allons le supprimer dans la prochaine version.

Si tu as besoin de modifier ou recréer des vues matérialisées, il vaut mieux te référer aux fichiers SQL de base et de référence utilisées pour la création initiale de la BDD.

Pour vm_observations (et la plupart des VM) : https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/atlas.sql#L20 Pour vm_observations_mailles : https://github.com/PnX-SI/GeoNature-atlas/blob/master/data/observations_mailles.sql

titus0039 commented 2 years ago

Merci @camillemonchicourt . Alors peut-être pouvez-vous juste retirer sa référence dans la doc, https://github.com/PnX-SI/GeoNature-atlas/blob/master/docs/installation.rst, ligne 172 en attendant la sortie de la prochaine version ?