#1 Fri 22 November 2013 18:47
- pgsouque
- Participant occasionnel
- Date d'inscription: 23 Jun 2011
- Messages: 10
Lizmap et vue dans postgis
Bonjour,
Je développe une base Postgresql/Postgis et je souhaitais pouvoir modifier une vue directement depuis un projet Lizmap sur le web.
Si j'utilise une table ceci fonctionne sans problème mais pour la vue j'ai essayé beaucoup de choses mais invariablement lismap me répond que ma vue n'a pas de clé primaire.
Apparemment on ne peut pas déclarer de clé primaire dans une vue sous postgresql.
Quelqu'un a t il déjà été confronté a ce probleme?
Merci
Hors ligne
#2 Sat 23 November 2013 12:10
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3933
Re: Lizmap et vue dans postgis
Bonjour,
si! vous pouvez ajouter un champ non null, à valeur unique dans une vue sous Postgis. Pour cela,
- si votre vue est issue d'une seule table, récupérez dans les champs de la vue, le champ clé primaire de la table
- si votre vue est une combinaison de différentes tables, pensez aux fonctions de fenêtrage, par ex row_number.
Code:
select row_number() over()::integer as id, champ1, champ2 from matable
génère dans le résultat un champ id qui numérotera chacune des lignes de votre table, soit un champ non null et à valeur unique donc pouvant faire office de clé primaire.
Au-delà de la question de clé primaire, vous devez garder en mémoire que les vues sont des photographies de votre table (vos tables) et qu'elles ne peuvent être modifiées qu'en fonction de ce qui se passe sur les tables mères. Si vous voulez modifier des vues, il vous faudra alors leur appliquer des règles ou des délencheurs sur une fonction.
Vous trouverez sur ce forum des discussions autour de la modification de vues sous postgresql/postgis.
Hors ligne
#3 Sat 23 November 2013 13:31
- pgsouque
- Participant occasionnel
- Date d'inscription: 23 Jun 2011
- Messages: 10
Re: Lizmap et vue dans postgis
Bonjour,
Merci de votre réponse. je regarde du côté de row number.
J'ai réalisé pour la modif de la vue un trigger de mise à jour des tables.
Merci encore
Hors ligne
#4 Sun 24 November 2013 21:06
- René-Luc D'Hont
- Participant assidu
- Date d'inscription: 7 Nov 2006
- Messages: 328
- Site web
Re: Lizmap et vue dans postgis
Pour régler votre problème je vous conseille de tester votre vue sous QGIS.
Votre problème est quelque chose de générique et QGIS et non spécifique à QGIS-Server ou LizMap.
Cordialement,
Hors ligne
#5 Mon 25 November 2013 06:02
- pgsouque
- Participant occasionnel
- Date d'inscription: 23 Jun 2011
- Messages: 10
Re: Lizmap et vue dans postgis
Bonjour,
Merci de votre réponse.
Je dois dire que c'est un mystère dans la mesure ou ces vues sont modifiables sous qgis mais comporte un message d'erreur sous lizmap (absence de clé primaire).....pourtant je la définie à l'import dans QGIS.....
cordialement,
Hors ligne
#6 Tue 26 November 2013 09:17
- pgsouque
- Participant occasionnel
- Date d'inscription: 23 Jun 2011
- Messages: 10
Re: Lizmap et vue dans postgis
Bonjour,
J'ai beau essayer rien ne passe.
Ma vue sous postgresql/postgis est modifiable via QGIS et des regles update,insert,delete sans aucun problème.
Sous Lizmap, voici le message d'erreur:
The table "viti"."v_parc" has no primary keys. The edition tool needs a primary key on the table to be defined.
Dois-je passer par une vue matérialisée ?
Merci
Hors ligne