Envoyé par
Arnaud B.
Attention, c'est effectivement le point le plus délicat.
2 options possibles :
- solution la plus simple : soit tu gère ça par des scripts "manuels" de mises à jour.
Par exemple, quand tu crées une nouvelle rubrique : tu prévois un script de mise à jour (une requete SQL) qui va modifier la structure de la table pour rajouter la rubrique dans ta base Postgres (par exemple).
Il faut gérer un n° de version du schéma de la BDD, qui te permet de déclencher automatiquement le script au lancement de l'application.
Par ex : si n° version BDD < 2 alors appliquer script MAJ BDD v2
Il faut simplement préparer ses scripts avant chaque diffusion d'une maj.
- solution la plus élégante intellectuellement, la plus automatisée mais beaucoup plus compliquée :
tu codes l'équivalent de WDModif mais qui fonctionne avec une BDD tierce : là il se faut se baser sur les Information Schema, qui sont des tables systèmes normalement implémentées dans les BDD (car normalisées par la norme SQL).
Mais 2 difficultés :
- malgré la norme, il y a des différences entre ces information schema entre les différentes BDD
- ENORME DIFFICULTE : Windev ne permet pas de lire la propriété ..GuidRubrique d'une rubrique (malgré plusieurs demandes en ce sens au ST depuis 2 ans), ce qui empêche de détecter automatiquement un changement de nom de rubrique (car comment faire dès lors pour faire la différence entre un changement de nom et une nouvelle rubrique ??). On peut contourner ce problème, soit en indiquant manuellement les changements de noms (mais on perd en automatisation) soit en lisant le contenu du fichier RUBFIC.FIC dans le répertoire de l'analyse (mais c'est galère).
Perso, nous avons fais le choix de la 2ème option et ca nous a pris plusieurs mois pour développer un module automatique pour Posgres...
A+, Arnaud.
Partager