Outils du site

Enfant prodige follement doué pour les mathématiques (elle peut diviser 32 427 par 16 sans cesser de sauter la corde), Helen Baxter, une petite New-Yorkaise de 11 ans, pose de graves problèmes à ses parents et ses professeurs. Quand on l'interroge sur son avenir, elle déclare quelle veut être gardeuse de vaches dans un grand pré avec plein de pommiers en fleur . [Pierre Desproges]

60-database:versionning

Ceci est une ancienne révision du document !


DB Versionning

Outil de gestion de version de BD

Liquibase

"Liquibase provides a database agnostic way to deliver fast, safe, repeatable database deployments."

Liquibase repose sur deux tables :

  • DatabaseChangeLog : tracking des “changeSet”
  • DatabaseChangeLogLock : Elle permet de garantir qu'une seule migration peut s'executer à la fois.

Langage supportés : SQL ou YAML, JSON, XML

Moteur : Java

Licence : Community edition + PRO payante

Flyway

"Version control for your database. Robust schema evolution across all your environments. With ease, pleasure and plain SQL."

FlyWay repose sur une table :

  • Schema_history : tracking des “changeSet”

Support des scripts de migration en Java ou SQL. Les scripts on un numéro de version normalisé qui permet à FlyWay de s'y retrouver en :

  • les exécutant une seule fois
  • Les exécutant dans l'ordre des versions croissantes

Langage supportés : SQL ou JAVA

Moteur : Java

Licence : Community edition + payantes

Gestion des schémas au choix :

  • Une instance par schema
  • Une instance pour tous les schema

Can I make structure changes to the DB outside of Flyway?

“No. One of the prerequisites for being able to rely on the metadata in the database and having reliable migrations is that ALL database changes are made by Flyway. No exceptions. The price for this reliability is discipline. Ad hoc changes have no room here as they will literally sabotage your confidence. Even simple things like adding an index can trip over a migration if it has already been added manually before.”

Synthèse

Risques

  • Liquibase: un seul contributeur
  • FlyWay : 5 contributeurs
  • Une fois qu'un script a été appliqué à une base il ne peut plus être modifié. –> délicat à gérer

Flyway vs LiquiBase

Dernière modification : 2020/01/18 00:10