Closed alhyss closed 2 years ago
Pour mémoire.
Diagnostic fait par @WREATCHED : Le problème vient du fait que les ressources PostgreSQL sont identifiées par la forme de leur chaîne de connexion - en l'occurrence la présence des clés host
, dbname
et user
. Ceci ne fonctionnait pas lorsque l'identifiant n'était pas enregistré dans le paramétrage de la connexion PG.
Correction sur la 0.3 bêta limitant le contrôle à la présence des clés host
et dbname
.
De cette façon, ça fonctionne pour moi, par contre ça n'ira pas pour ceux qui utilisent des services pour gérer leurs connexions PostgreSQL, car ils n'auront potentiellement ni host
ni dname
dans leurs chaînes de connexion.
Quel est exactement le problème avec le fait d'utiliser la méthode QgsLayerItem.providerKey
pour reconnaître le fournisseur ? Pour autant que je puisse voir elle renvoie bien 'postgres'
pour les couches PostgreSQL, 'WFS'
pour les services WFS... Je n'ai pas regardé les autres fournisseurs, mais ça me paraissait plutôt bon signe ?
Oui, j'avais pas pris la bonne méthode
Ok, testé et corrigé
def ifVectorPostgres(self, item) : return True if item.providerKey() == 'postgres' else False
Ça me rassure ! J'en étais à me demander par quelle opération mystique QGIS devinait le connecteur à utiliser pour aller récupérer les données...
Quand tu auras remonté la modification, je pense qu'on pourra arrêter la v0.3 bêta pour diffusion.
Rien ne s'affiche dans Plume quand je clique sur des couches PostgreSQL dans l'explorateur. Constaté sous QGIS 3.16. Est-ce que tu reproduis ?