Stay Secure: Update to Flyway V10 now Update now

Flyway

Increase reliability of deployments by
versioning your database

Get Flyway for free

Stay updated about Flyway

Get all the latest guides, community news, product updates, and resources

40,000,000 downloads in 2020

Database migrations made easy

Version control for your database, so you can migrate it with ease and confidence.

Simple to use

Flyway lets you regain control of your migrations with ease.

Why database migrations?

Solves one problem well

Flyway migrates your database, so you don't have to worry about it.

How does Flyway work?

Made for CI/CD

Releases have never been this easy.

Get started with Flyway
Get up and running in 5 minutes

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 Maven 2/3 builds

Seamless integration with Gradle builds

> gradle flywayMigrate -Dflyway.url=... -Dflyway.user=... -Dflyway.password=...
Get started with the Gradle plugin

It just works. Refreshingly simple.

Migrate from any version (including an empty database) to the latest version of the schema.

Plain old SQL

Plain SQL scripts (including placeholder replacement). No proprietary XML formats, no lock-in.

No limits

Java-based migrations for advanced data transformations and handling with LOBs.

Zero required dependencies

All you need is Java 7+ and your Jdbc driver and you're good to go!

Convention over configuration

Filesystem and classpath scanning to automatically discover SQL and Java migrations.

Highly reliable

Safe for cluster environments. Multiple machines can migrate in parallel.

Cloud support

Full support for Amazon RDS, Microsoft SQL Azure, Google Cloud SQL, Heroku, and more.

Auto-migration on startup

Ship migrations together with the application and run them automatically on startup using the API.

Fail fast

Inconsistent database or failed migration prevents app from starting.

Schema clean

Drop all tables, views, triggers, and more from a schema without dropping the schema itself.

Your relational database. Supported.

Choose from the wide range of supported databases.

SQL Server
Azure SQL Database
Azure SQL Database Managed Instance
SQL Server - Amazon RDS
SQL Server - Google Cloud
Azure Synapse
Oracle Database
Oracle Autonomous Database
Oracle Base Database Service
Oracle Exadata Database Service
Oracle - Amazon RDS
PostgreSQL
PostgreSQL - Amazon RDS
PostgreSQL - Google Cloud
Azure PostreSQL - Flexible Server
Azure PostgreSQL - Single Server
Aurora PostgreSQL
EnterpriseDB - EDB Postgres Advanced Server (preview)
YugabyteDB
CockroachDB
MySQL
MySQL - Amazon RDS
MySQL - Azure
MySQL - Google Cloud
Aurora MySQL
Percona Server for MySQL
Percona XtraDB Cluster
MariaDB
MariaDB - Amazon RDS
MariaDB SkySQL
IBM DB2
Derby
Firebird
Google BigQuery
Google Cloud Spanner
H2
HSQLDB
Ignite
Informix
MongoDB (preview)
MongoDB (preview) - Amazon DocumentDB
Redshift
SAP HANA
SAP HANA Cloud
SingleStoreDB
Snowflake
SQLite
Sybase ASE
Testcontainers
TiDB
TimescaleDB

What people are saying

Join the hundreds of thousands of delighted users.

Dave Syer

Senior Engineering Consultant, Pivotal

"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."

Erik Dörnenburg

Head of Technology Europe, ThoughtWorks

"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."

Arun Gupta

Director of Developer Advocacy, Red Hat

"Flyway should be a fundamental part of any Java EE application DevOps. It simplifies database migration and seamlessly integrates with your application lifecycle."

Armin Gattung

Freelance consultant

"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."

Ready to get started?

Get started with Flyway

How does Flyway work? What are the first steps? Download Flyway