Le fichier de description contient de multiples informations pour la gestion des versions.
Section [Database]
La section Database contient les informations sur la version attendue (courante) de la base de données applicative, ainsi que sur la méthode permettant de déterminer la version d'une base de données existante.
Paramètre |
Description |
version |
Version de la base de données à laquelle se rapporte le fichier. Cette information est utilisée pour contrôler la cohérence de la base de données lors du lancement des utilitaires, et pour la mise à jour automatisée. |
checkversion |
Requête SQL utilisée pour lire le numéro de version d'une base de données existante. Dans le cas particuler d'une base BTrieve, la gestion de versions peut se faire en créant un fichier 'Version.ini' dans le répertoire des fichiers BTrieve. |
vendordll |
DLL utilisateur permettant un contrôle affiné de la gestion de versions. * prend le pas sur la requête spécifiée par 'CheckVersion' |
Il existe deux méthodes pour déterminer la version d'une base de données :
Lecture directe dans la base de données à l'aide d'une requête SQL sur une table dédiée (checkversion) *
Exemple : select max (version) from sysadel.versionbd
Utilisation d'un service fourni par une DLL utilisateur (vendordll).
* ou dans le fichier 'version.ini' dans le cas d'une base de données BTrieve.
Sections [PDM/*], [DATA/*]
Ces sections contiennent les descriptions des enchaînements de scripts à effectuer lors d'une mise à jour.
L'enchaînement des scripts se fait de la façon suivante :
tant_que version_base < version_courante
si rechercher_executer_script_pdm (version_base, version_intermediaire) = erreur
sortir (erreur)
fin
si rechercher_executer_script_donnees (version_base) = erreur
sortir (erreur)
fin
version_base = version_intermediaire
refaire
La recherche d'un enchaînement de script se fait d'abord dans la section spécifique du gestionnaire de bases de données utilisé [PDM/<SGBD>] ou [Data/<SGBD>], puis dans la section 'générique' [PDM/Generic] ou [Data/Generic].
L'absence d'une référence à un fichier dans la séquence provoque une erreur de séquence. Il est néanmoins possible de ne pas fournir de fichier de description de tables ou d'insertion de données à une étape donnée en donnant au fichier le nom "*no_file".
Exemple : fichier de description contenant les informations nécessaires pour la migration d'une base de la version 1.0 à la version 2.0, avec une exception pour le gestionnaire Oracle.
[Database]
AppName=Sample
Version=2.0
Comment=A sample application for demonstration purpose - v2
VendorDLL=samdll.dll
[Oracle]
UserUtil=SAMPLE
PasswordUtil=SAMPLE
[PDM/Generic]
*ALL=sample.gen
1.0 = 2.0, sample_10_20.gen
[DATA/Generic]
*ALL=sample.dat
1.0 = sample_10_20.dat
[DATA/Oracle]
1.0 = sample_10_20_oracle.dat
[EXPORT]
SAMPLE.SAMPLE_DATA = SAMPLE_DATA.IXF
SAMPLE.SAMPLE_VERS = SAMPLE_VERS.IXF
↑ Haut de page Copyrights Ι ©Hardis Group 2025 - Toute représentation ou reproduction intégrale ou partielle faite sans le consentement écrit d'Hardis Group est illicite.