Outils du site

Vos enfants ne sont pas vos enfants. Ils sont les fils et les filles de l'appel de la Vie à la Vie. Ils viennent travers vous mais non de vous. Et bien qu'ils soient avec vous, ils ne sont pas à vous. Vous pouvez leur donner votre amour, mais pas vos pensées. Car ils ont leurs propres pensées. Vous pouvez héberger leurs corps, mais pas leurs âmes. Car leurs âmes résident dans la maison de demain que vous ne pouvez visiter, pas même dans vos rêves. Vous pouvez vous efforcer d'être comme eux, mais ne cherchez pas à les faire à votre image. Car la vie ne marche pas reculons, ni ne s'attarde avec hier. Vous êtes les arcs desquels vos enfants sont propulsés, tels des flêches vivantes.L'Archer vise la cible sur le chemin de l'Infini, et Il vous tend de Sa puissance afin que Ses flêches volent vite et loin. Que la tension que vous donnez par la main de l'Archer vise la joie. Car de même qu'Il aime la flêche qui vole, Il aime également l'arc qui est stable. [Khalil GIBRAN]

60-database:versionning

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

L’abstraction de schema via YAML, JSON ou XML est pertinente si l'on veut gérer la même base sur plusieurs moteurs différents.

Moteur : Java

Licence : Community edition + PRO payante

Versions :

  • 3.8.5 : 10-01-2020
  • 3.8.0 : 20-08-2019
  • 3.7.0 : ??
  • Start : 2006

Contributeurs : 1 seul contributeur

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

Versions :

  • 6.1.1 : 26-11-2019
  • 6.0 : 29-08-2019
  • 5.0 : 07-12-2017
  • 4.0 : 01-03-2016
  • 3.0 : 20-04-2014

Contributeurs : 5 contributeurs

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

Comparaison

Risques

Une fois qu'un script a été appliqué à une base (hors DEV) il ne peut plus être modifié. –> Comment gérer cela avec GIT ? Un fichier poussé sur Master ne devrait plus être modifiable
Dernière modification : 2020/01/18 01:28