Bonjour,
je travaille avec des bases MySQL dont je souhaite gérer la mise à jour par des dépôts de scripts .sql contenant les instructions nécessaires dans des répertoires dédiés qu'ira scruter une appli qui tour en tâche de fond afin de les exécuter sur la base associée (code d'initialisation du projet).
J'ai une base de test que je tiens à jour et que je synchronise avec l'analyse de mon projet, et des bases de production ayant la même structure donc devant recevoir les instructions de modification (ALTER TABLE...) via des fichiers .sql donc, que j'ai appliqué à ma base de test.
Imaginons que la version de mon analyse compilée soit la v1.2 (synchronisée sur ma base de test) et que la version précédente dans mon application déployée soit la v1.1 (donc n'ayant pas encore les modifications générées dans la v1.2) :
Arrêtez moi si je dis un bêtise mais :
Au moment du déploiement, est-ce que je ne risque pas d'avoir un message d'erreur m'indiquant que la version de l'analyse de l'application nouvellement déployée diffère, générant une erreur fatale ? En effet pour mettre à jour la structure de la base mySQL via le fichier .sql je dois m'y connecter et à ce moment la couche logique de l'analyse est vérifiée (sauf erreur de ma part), ainsi la version déployée étant la v1.2, elle va différer de la structure de la base précédente v1.1 générant une erreur et empêchant de continuer le traitement, donc de mettre à jour l'analyse déployée par le script (c'est un peu le serpent qui se mord la queue non ?)
Comment gérer cette mise à jour de base dans ce cas ?
Merci
Partager