J'ai créé un plugin demandant des informations de connexion à une base de données. Une fois connecté, le plugin charge certaines couches de la base de données. Dans la base de données, il y a à la fois des administrateurs et des utilisateurs "normaux".
J'ai enregistré deux styles dans la base de données à partir de l'interface utilisateur comme style par défaut pour leur couche respectivement (il semble que vous devez avoir des droits d'administrateur de base de données pour pouvoir les enregistrer).
Une fois que j'ai sauvegardé les styles dans la base de données, je ne peux pas voir où ils sont stockés, c'est-à-dire que je ne vois plus de nouvelles tables. (Je m'attendais à ce que les styles soient enregistrés dans un tableau)
En exécutant à nouveau QGIS et le plugin (en tant qu'utilisateur administrateur), les styles de couche sont chargés automatiquement.
Mais, en exécutant à nouveau QGIS et le plugin (en tant qu'utilisateur normal), ils ne sont pas chargés automatiquement. J'essaie ensuite de charger les styles à partir de la base de données (à partir de l'interface graphique), mais aucun style n'est chargé.
Deux questions.
- Comment les styles de calque sont-ils stockés dans la base de données?
- Existe-t-il un moyen de charger les styles de couche sans droits d'administrateur de base de données?
Réponses:
Les styles sont normalement enregistrés dans public.layer_styles.
Étant dans le schéma public, il doit être accessible à tous les utilisateurs. Sinon, assurez-vous qu'il utilise:
la source
public
(en travaillant avec une base de données avec plusieurs schémas).