Fiche technique | |
---|---|
Système d'exploitation : | Linux, macOS Windows |
Auteur : | Redgate |
Date de publication : | 2015 à actuellement |
Catégorie : | Migration de base de données |
Site Web : | https://flywaydb.org/ |
Sommaire
Flyway étend DevOps à vos bases de données pour accélérer la livraison de logiciels et garantir un code de qualité.
Du contrôle de version à la livraison continue, Flyway s'appuie sur les processus de livraison d'applications pour automatiser les déploiements de bases de données.
Flyway Desktop offre une expérience basée sur une interface graphique aux développeurs de bases de données et aux professionnels des données pour suivre les modifications apportées à leurs objets de base de données et gérer les scripts de migration dans le contrôle de version.
La ligne de commande Flyway est une distribution Flyway autonome. Il fonctionne sous Windows, macOS et Linux et s'adresse principalement aux utilisateurs souhaitant migrer leur base de données depuis la ligne de commande sans avoir à intégrer Flyway dans leurs applications ni à installer un outil de build.
Flyway peut être intégré au sein d'une application à l'aide de l'API, permettant d'appliquer les migrations au démarrage de l'application.
Voici les principales caractéristiques de Flyway :
- Versioning et migration des bases de données : Flyway suit un modèle de versioning linéaire permettant de gérer les changements apportés au schéma de la base de données avec des scripts de migration versionnés. Chaque modification est enregistrée dans un fichier avec un numéro de version unique, assurant un suivi historique clair.
- Prise en charge de plusieurs bases de données : Flyway est compatible avec une vaste gamme de bases de données, notamment MySQL, PostgreSQL, Oracle, SQL Server, SQLite, et bien d'autres. Cela permet d'unifier les pratiques de migration dans des environnements multi-bases de données.
- Scripts de migration SQL et Java : Les migrations peuvent être écrites en SQL pour plus de flexibilité et de lisibilité ou en Java pour des migrations plus complexes. Flyway interprète automatiquement les fichiers de migration et les applique dans le bon ordre.
- Intégration avec CI/CD et DevOps : Flyway s'intègre facilement avec des pipelines CI/CD et des outils DevOps tels que Jenkins, GitLab CI, GitHub Actions, Azure DevOps, et bien d'autres. Cela permet d'automatiser les mises à jour de schéma tout au long du cycle de développement.
- Ligne de commande, API, et plugiciels Maven/Gradle : Flyway peut être utilisé via la ligne de commande, une API Java, ou des plugiciels pour Maven et Gradle, offrant une flexibilité d'utilisation pour les équipes de développement.
- Migration en ligne (Zero Downtime) : Grâce à une stratégie de migration incrémentielle, Flyway permet de déployer des changements de schéma sans interruption de service, facilitant les mises à jour pour les applications critiques.
- Fonctionnalités avancées dans la version Flyway Teams : La version payante de Flyway, appelée Flyway Teams, propose des fonctionnalités avancées comme les migrations de basculement (undo), les répétitions de migrations, les validations automatiques, le support d'outils de collaboration, et le support technique.
- Validation et réparation de l'état de la base de données : Flyway vérifie l'intégrité de la base de données pour s'assurer que l'état des migrations correspond bien à celui attendu. En cas de divergence, il peut réparer l'état pour synchroniser les versions entre les environnements.
- Support pour des environnements multi-équipes : Flyway facilite la collaboration entre les équipes en centralisant les scripts de migration et en assurant la synchronisation des changements de schéma, ce qui est particulièrement utile dans les environnements de développement collaboratif.