web-dev-qa-db-fra.com

À quoi sert la fonction de base de Flyway?

Malgré la lecture de tous les documents disponibles sur le site Web de Flyway, je ne comprends toujours pas à quoi sert la base de référence. Quelqu'un pourrait-il l'expliquer en anglais simple et mentionner quelques cas d'utilisation de cette commande?

37
Libor Jelinek

Par exemple, la création d'une base de données dans la version V1_0__baseline.sql indique à Flyway de n'appliquer que les scripts de migration créés après la version V1_0. Pour ce faire, il insère une entrée de migration dans la table SCHEMA_VERSION utilisée par Flyway. Lorsque vous exécutez une migration, les scripts de migration disponibles ne seront appliqués que si leur version est supérieure à la version de base.

Exemple

Vous souhaitez utiliser Flyway sur une base de données de production et de développement. Vous créez un schéma de vidage de production uniquement. Ce sera le premier script de migration appliqué lorsque vous créez une nouvelle base de données vide à l'aide de Flyway.

Cependant, étant donné que vos machines de production et de développement existantes sont déjà sur cette version, vous ne souhaitez pas appliquer ce script initial. Pour éviter cela, vous créez une table SCHEMA_VERSION et insérez "1_0" dans la table pour indiquer à Flyway que la base de données est déjà à 1_0. Au lieu de créer manuellement ce tableau et d'insérer une ligne via SQL, vous pouvez exécuter la commande Ligne de base Flyway.

Puis, quelques semaines plus tard, il y a une autre base de données que vous n'avez pas introduite sur Flyway, mais à laquelle vous avez toujours appliqué des scripts de mise à jour (peut-être que vous n'aviez pas le temps). Lorsque vous importez cette base de données sur Flyway, vous devrez peut-être la baser sur V3_0 ou une autre version.

48
Kevin