Easy to setup, simple to master. Flyway lets you regain control of your database migrations with pleasure and plain sql.Why database migrations?
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?
Made for continuous delivery. Let Flyway migrate your database on application startup. Releases have never been this easy.Get started
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(); 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
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 Amazon RDS, Microsoft SQL Azure, Google Cloud SQL, Heroku & 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, ... from a schema without dropping the schema itself
(incl. Amazon RDS)
(incl. Amazon RDS, Azure Database & Google Cloud SQL)
(incl. Amazon RDS)
(incl. Amazon RDS & Azure SQL Database)
(incl. Amazon RDS, Azure Database, Google Cloud SQL & Heroku)
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