Download - Release Notes - Apache v2 license
Works on:
Architecting for Continuous Delivery and Zero Downtime
Training | Iasi, Romania | May 10-11, 2017
Architecting for Continuous Delivery and Zero Downtime
Training | Oslo, Norway | Oct 16-17, 2017
Simple
Easy to setup, simple to master. Flyway lets you regain control of your database migrations with pleasure and plain sql.
Why database migrations?Focused
Solves only one problem and solves it well. Flyway migrates your database, so you don't have to worry about it anymore.
How does Flyway work?Powerful
Made for continuous delivery. Let Flyway migrate your database on application startup. Releases have never been this easy.
Get startedFor non-JVM users and environments without build tools
> flyway migrate -url=... -user=... -password=...
Get Started with the
Command-line Tool
Migrate directly from within your application
Flyway flyway = new Flyway(); flyway.setDataSource(url, user, password); flyway.migrate();Get Started with the Java API
Seamless integration with Maven 2/3 builds
> mvn flyway:migrate -Dflyway.url=... -Dflyway.user=... -Dflyway.password=...
Get Started with the Maven
Plugin
Seamless integration with Gradle builds
> gradle flywayMigrate -Dflyway.url=... -Dflyway.user=... -Dflyway.password=...
Get Started with the Gradle
Plugin
Antlib with tasks for Ant 1.8 and above
<flyway:migrate url="..." user="..." password="..."/>Get Started with the Ant Tasks
First class SBT integration
> sbt flywayMigrate -Dflyway.url=... -Dflyway.user=... -Dflyway.password=...
Get Started with the SBT plugin
Plain SQL scripts (incl. placeholder replacement). No proprietary XML formats, no lock-in.
Java-based migrations for advanced data transformations and handling with LOBs
All you need is Java 6+ and your Jdbc driver and you're good to go!
Filesystem and Classpath Scanning to automatically discover Sql and Java migrations
Safe for cluster environments (Multiple machines can migrate in parallel)
Full support for Microsoft SQL Azure, Google Cloud SQL & App Engine, Heroku Postgres and Amazon RDS.
Ship migrations together with the application and run them automatically on startup using the API
Inconsistent database or failed migration prevents app from starting.
Drop all tables, views, triggers, ... from a schema without dropping the schema itself
10g and later, all editions
(incl. Amazon RDS)
2008 and later
(incl. Amazon RDS)
latest
3.7.2 and later
5.1 and later
(incl. Amazon RDS & Google Cloud SQL)
10.0 and later
(incl. Amazon RDS)
9.7 and later
9.1 and later
9.0 and later
(incl. Heroku & Amazon RDS)
6.5 and later
latest
9.4 and later
Database migrations are something that Java developers struggle with, and Flyway provides a nice tool that anyone with basic knowledge of SQL can use. For that reason it has become the favourite migration tool in the Spring Boot team.
Dave Syer, Senior Consulting Engineer, Pivotal
Flyway should be a fundamental part of any Java EE application devops. It simplifies database migration and seamlessly integrates with your application lifecycle.
Arun Gupta, Director of Developer Advocacy, Red Hat
With techniques such as Continuous Delivery becoming more mainstream, automated database migrations are a baseline capability for many software teams. Flyway makes it as painless as possible to automate this process.
Erik Dörnenburg, Head of Technology Europe, ThoughtWorks
With Flyway you can combine the full power of SQL with solid versioning. This makes setting up and maintaining database schemas a breeze. We use it across all environments including production, making it a perfect fit for our Continuous Delivery and Zero Downtime pipeline. I highly recommend it.
Armin Gattung, Freelance Consultant
Liquibase | MyBatis | ||||||||
Migration types |
|||||||||
Plain Old Sql migrations | 1 | ||||||||
Java migrations | 1 | ||||||||
Xml migrations | |||||||||
Repeatable migrations | |||||||||
DDL abstraction DSL | |||||||||
Execution |
|||||||||
Command-line | |||||||||
API (Java) | |||||||||
API (Android) | |||||||||
Maven | |||||||||
Gradle | 2 | 2 | |||||||
Ant | |||||||||
SBT | 2 | ||||||||
Databases |
|||||||||
Oracle | |||||||||
SQL Server | |||||||||
DB2 | |||||||||
DB2 z/OS | |||||||||
MySQL | |||||||||
PostgreSQL | |||||||||
H2 | |||||||||
Hsql | |||||||||
Derby | |||||||||
SQLite | |||||||||
solidDB | |||||||||
Sybase ASE | |||||||||
EnterpriseDB | |||||||||
Sql Parser |
|||||||||
Oracle PL/SQL | 3 | ||||||||
SQL Server T-SQL | 3 | ||||||||
DB2 SQL PL | 3 | ||||||||
MySQL stored procedures | 3 | ||||||||
PostgreSQL stored procedures | 3 | ||||||||
EnterpriseDB SPL | 3 | ||||||||
Other |
|||||||||
Auto creation of schema | |||||||||
Auto creation of metadata table | |||||||||
Cluster-safe | |||||||||
Checksum validation | |||||||||
Placeholder replacement | |||||||||
Multiple schema support | |||||||||
Clean existing schema | |||||||||
Output to SQL file | |||||||||
Available on Maven Central | |||||||||
License | Apache v2 | Apache v2 | Apache v2 |