Liquibase

394 vues

Publié le

Description des raisons de la migration de la société Santéclair sur liquibase

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
394
Sur SlideShare
0
Issues des intégrations
0
Intégrations
8
Actions
Partages
0
Téléchargements
6
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Liquibase

  1. 1. Liquibase Source control for your database
  2. 2. Liquibase ● L’existant ● Les problèmes rencontrés ● La solution : Liquibase ● Et après ● Questions
  3. 3. L’existant
  4. 4. L’existant ● Réalisation d’un schéma sous powerAMC (MPD) ○ Permet de normaliser les relations ○ Partage du schéma via le référentiel (internes / service stats / RAP) ○ Ajout des schémas dans confluence
  5. 5. L’existant ● Récupération des scripts SQL depuis PowerAMC ○ Dans le meilleur des cas : génération de tous les scripts si “from scratch” ○ Récupération de morceau de script via la prévisualisation
  6. 6. L’existant ● Création des script pour la base H2 ○ Permet de monter une base de données et de charger un jeu de données à chaud pour la réalisation des tests d’intégration ● Création des scripts pour la MEP ○ Ajout de ces scripts au document de MEP sous confluence
  7. 7. Les problèmes rencontrés
  8. 8. Les problèmes rencontrés ● PowerAMC ○ Génération des scripts ok si “from scratch” mais gestion des deltas très peu intuitive et aléatoire ○ Suivi des évolutions et des versions compliquées et peu intuitive
  9. 9. Les problèmes rencontrés ● H2 ○ Script de chargement à maintenir spécifiquement pour les tests ○ Retravaille des scripts depuis PowerAMC systématique
  10. 10. Les problèmes rencontrés ● Script pour la MEP ○ Demande une grande rigueur dans la maintenance des scripts ○ Retour arrière presque jamais réalisé ○ Exécution manuelle uniquement ○ Partage et suivi des évolutions des scripts laborieuses
  11. 11. La solution : Liquibase
  12. 12. La solution : Liquibase ● Langage XML pour décrire les scripts à exécuter en base ○ Même langage de script quelque soit la base de données (MySQL, H2, etc.) ○ Format arborescent pour une meilleur lisibilité des blocs de chargement
  13. 13. La solution : Liquibase
  14. 14. La solution : Liquibase ● Permet de suivre les évolutions des scripts via SVN ○ Utilisation d’outils connus et standards (SVN) ○ Meilleur suivi des évolutions des schémas
  15. 15. La solution : Liquibase
  16. 16. La solution : Liquibase ● Lancement des scripts au chargement de l’ application ○ Permet de faire des exécutions conditionnelles et de prévoir des scripts de retour arrière ○ Intégration des scripts de chargement de la base de données dans les livrables (WAR) ○ Un pas vers l’industrialisation des livrables
  17. 17. La solution : Liquibase
  18. 18. La solution : Liquibase web.xml applicationContext.xml
  19. 19. La solution : Liquibase ● Suivi des scripts déjà chargés directement dans des tables spécifiques Liquibase ○ Création par Liquibase de deux tables : lock de chargement, suivi des scripts ○ Tolérance au clustering ○ Possibilité de faire un reverse engineering sur l’ existant et de considéré les scripts obtenus déjà exécutés
  20. 20. La solution : Liquibase
  21. 21. La solution : Liquibase
  22. 22. Et après
  23. 23. Et après ● Suppression des droits en écriture en intégration et production ○ Oblige à la réalisation des scripts via liquibase pour livraison en intégration ○ Permet de garantir le suivi des évolutions en base de données ○ Fonctionnement par alter
  24. 24. Et après ● Un super-user connu par 3 personnes avec les droits en écriture en secours ○ Permet de prévoir les cas ou Liquibase n’est pas approprié ○ Permet d’intervenir en urgence sur des problèmes de production
  25. 25. Et après ● Réalisation des scripts de chargement H2 à l’aide de Liquibase ○ Plus de maintenance des scripts spécifiques H2 en dehors des données de test ○ Une méthode, un seul type de fichier pour charger les bases H2 et charger/mettre à jour les bases MySQL
  26. 26. Et après ● Quelques limites ○ Chargement des scripts au démarrage des applications => scripts à exécution relativement rapide ○ Autres limites à découvrir
  27. 27. Et après MISE EN PLACE ASAP !!!!
  28. 28. Questions ?

×