Bonjour Guillaume,

 

Ici pour une application déployer en masse depuis 15 ans, on utilise les scripts SQL pour UPGRADE avec toujours une capacité de script DOWNGRADE.

On lance dans l’application une action de mise à jour qui va télécharger, vérifier la licence et lancer les mises à jour base et soft.

On a quasiment reproduit un truc sympa a utilisé qui est maintenant plus simple dans les langages modernes ORM.

On ne changera pas pour cette application pour différentes raisons notamment une maitrise parfaite de ce qui est fait et la quantité de travaille que la migration donnerai.

Sans compter les phases de test etc etc

 

Donc sur nos nouvelles applications et leurs différents modules, on a tout passé en ORM.

On a privilégié la méthodologie Code First (presque à 90%, 10% en Data first)

Il y a énormément de choses sympa a dire la dessus mais pour ton point -> migration de versions par fichier de code qui donne l’explication de l’évolution du modèle de données lors de leur évolution. Donc l’appli qui UPG c’est toi.

Après reste a choisir la méthode de lancement : individuel, global sur Target (via un petit dev), par lot l’applicatif vient sur un déposit pour voir si une maj est dispo pour elle…

C’est selon le contexte, l’usage utilisateur, l’infra, localisation des données, la fréquence, heure de l’interruption possible.

 

 

Si cela peut t’aider un peu, bonne semaine


Xavier

 

 

 

De : Guillaume BRUEL <bruel.guillaume48@gmail.com>
Envoyé : vendredi 23 novembre 2018 10:30
À : frsag@frsag.org
Objet : [FRsAG] Déploiement MAJ BDD et intégrité des schémas

 

Bonjour,

 

Nous avons eu une discussion hier en interne et nous n'avons pas trouvé de solution idéale. Voici la problématique :

 

Nous sommes dans une infrastructure saas avec une bdd par client. Pour la mise à jour applicative on a du git/jenkins classique qui tourne. En revanche, on se pose la question de comment faire pour mettre à jour les BDD.

 

On a plusieurs centaines de clients et on aimerait éviter de passer les mises à jour base par base. Actuellement nous avons 2 applications avec 2 fonctionnements différents :

- La première application, c'est le 1er utilisateur qui se connecte qui lance le script de MAJ sql

- La seconde application, on a un script qui passe sur toutes les bases dans un modèle blue/green deploy.

 

Notre réunion n'a pas permis de trouver d'autres solutions que celles déjà mises en place. Et ces deux solutions ont du positif mais aussi du négatif.

 

Qu'utilisez vous de votre côté ? Quelle app connaissez-vous qui pourrait faire le job ? Quels sont vos conseils ?

 

Merci,

 

Guillaume