Vidéo 24 • Évolution & Maintenance
Migration de Schéma :
L'ADN Evolutif
Comment mettre à jour les tables SQL de 500 clients à distance sans perdre une seule donnée.
Le Drame de l'Incompatibilité
Le Code (v2.0)
Votre nouveau code veut enregistrer le champ Points_Fidélité.
La Base Locale (v1.0)
Mais le fichier physique sur le PC du client ne possède pas cette colonne.
CRASH : "Rubrique inconnue dans le fichier"
La Solution : Auto-Migration
"Au démarrage, l'application compare sa structure interne avec la structure physique. S'il manque quelque chose, elle 'rénove' le fichier instantanément."
Laboratoire : Mutation de la Table Client
Blueprint Cloud (v2.0)
IDClientGUID
NomTEXT
Points_Fid
NEW
Base de Données Locale (Poste 01)
TABLE_CLIENT
STRUCTURE v1.0
IDClient7F4D...
NomJean Dupont
Migration réussie sans perte de données
Le Secret : Le Numéro de Version
L'Algorithme de Décision
Chaque fois que vous changez l'analyse dans WinDev, vous devez incrémenter une variable nVersionSchema dans votre code.
- Lire version actuelle de la DB physique.
- Si DB_Ver < Code_Ver :
- Lancer la mutation structurelle.
Metadata Table
SCHEMA_VER = 2.0
La Puissance de HModifieStructure
// Procédure de mise à jour automatique SI LitVersionBase() < VERSION_APPLI_CHEVRON ALORS // 1. On informe l'utilisateur FenAffichageDélai(100, "Mise à jour de la structure de données...") // 2. L'INSTRUCTION MAGIQUE DE WINDEV // Cette fonction ajoute les colonnes manquantes et garde les données ! HModifieStructure(*, hmsTout) // 3. On enregistre le nouveau numéro de version EcritVersionBase(VERSION_APPLI_CHEVRON) FIN