Version control for your database
Robust schema evolution across all your environments.
With ease, pleasure, and plain SQL.
Get all the latest guides, community news, product updates, and resources
For 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 = Flyway.configure().dataSource(url, user, password).load();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 Maven 2/3 builds
Seamless integration with Gradle builds
> gradle flywayMigrate -Dflyway.url=... -Dflyway.user=... -Dflyway.password=...Get started with the Gradle plugin
Migrate from any version (including an empty database) to the latest version of the schema.
Plain SQL scripts (including 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 7+ 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 Amazon RDS, Microsoft SQL Azure, Google Cloud SQL, Heroku, and more.
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, and more from a schema without dropping the schema itself.
Join the hundreds of thousands of delighted users.
"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."
"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."
"Flyway should be a fundamental part of any Java EE application DevOps. It simplifies database migration and seamlessly integrates with your application lifecycle."
"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."