Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
Pages: 1
- Sujet précédent - Postgresql/Postgis : Trigger pour historisation/versionnement - Sujet suivant
#1 Sun 18 September 2022 19:55
- image95
- Participant assidu
- Date d'inscription: 6 Sep 2014
- Messages: 259
Postgresql/Postgis : Trigger pour historisation/versionnement
Bonjour,
Je travaille avec Postgresql 13, Postgis et Qgis 3.22.
Mon besoin est de mettre en place au sein de ma base de données utilisée pour de la production de cartes geographiques, des triggers pour l'historisation, le versionnement de données.
L'idée : Au sein d'une table "OUVRAGE' (géométrie : points), différentes mises à jour de la table sont effectuées au fil du temps.
Le changement de version se produit dans le cas où :
• de nouveaux objets sont ajoutés ou supprimés dans la table (INSERT / DELETE)
• des objets sont mis à jour par de nouvelles versions d’objets annulant et remplaçant les objets existants (UPDATE).
Parfois, ces UPDATE concernent uniquement le champ geometrie (changement de la localisation). Parfois d'autres champs/attributs (type d'ouvrage, referent technique, nom de la campagne de l'ouvrage, date de debut de construction, nom de la commune de localisation de l'ouvrage,etc.).
=> Ces INSERT/DELETE/UPDATE devront avoir pour effet, au sein du schéma "archive" (schéma dédié au stockage des tables/objets historisés/versionnés), la création d'une nouvelle table "OUVRAGE_V1", "OUVRAGE_V2", "OUVRAGE_V3",etc.
Exigences :
• L’objectif n'est PAS d'effectuer une montée en version à chaque modification (UPDATE) dans la table, mais d’identifier des phases structurantes.
Notamment, lorsque les UPDATE concernent certains champs structurants (geometrie).
Autrement dit, l'idée est que l'administrateur puisse décider, déclencher quand il juge pertinent, le processus de trigger/d'historisation-versionnement.
• Le versionnement à la table est préconisé" : les tables de versionnement (schema ARCHIVE) seront constituées d’éléments modifiés ET également des objets non modifiés de la table "OUVRAGE".
Ce choix a été retenue notamment pour faciliter la restauration des objets versionnés au niveau des projets qgis archivés.
Avantage : possibilité de se référer à une phase précise du projet Instant T.
Inconvénient : duplication des objets même non modifiées au sein de la table archive.
L’administrateur pourrait activer une action d’historisation lorsque cela lui semble pertinent. Par exemple à la fin d’une session de mise à jour. Le mécanisme d’historisation est automatique.
Une personne saurait elle me guider, m'orienter sur les méthodes offertes par PostgreSQL/Postgis (voire Qgis) susceptibles de satisfaire mon besoin ?
Un grand merci. ;-) En espérant avoir été suffisamment clair.
Dernière modification par image95 (Sun 18 September 2022 19:58)
Hors ligne
Pages: 1
- Sujet précédent - Postgresql/Postgis : Trigger pour historisation/versionnement - Sujet suivant