programcode

Review · Database systems

Flyway review

A straightforward SQL migration workflow, with governance and some advanced controls reserved for quote-based Enterprise.

8.0/10ProgramCode score

We may earn a commission if you buy through links on this page. It never changes a score or a ranking. How we make money

The bottom line

Flyway makes versioned SQL migrations easy to integrate; governance costs extra.

Flyway is a database migration tool built around version-controlled SQL scripts. Its CLI and Java API fit into application builds and CI/CD pipelines, while filesystem and classpath scanning discover migrations.

Community is free and covers more than 60 database platforms. Enterprise adds governance controls on quote-based, per-user pricing. The main trade-offs are a paid feature boundary and the operational discipline migrations require, especially when branches diverge.

Good fit if

  • Teams managing SQL migrations in CI/CD
  • Java applications with database changes
  • Developers who want a free foundation

Skip it if

  • Teams requiring free governance controls
  • Projects needing easy production rollback
  • Teams wanting a hosted migration service
Flyway homepage
Flyway homepage, captured Nov 10, 2026

ScoresHow it rates

  • Features8
  • Ease of use8.5
  • Value for money8.5
  • Support7.5
  • User sentiment7.5

What works

  • Free Community edition supports 60+ database platforms
  • Uses plain SQL rather than proprietary XML
  • CLI, Java API, Maven and Gradle integration
  • Scans filesystems and classpaths for migrations
  • Enterprise adds policy-as-code and drift detection

What doesn't

  • Enterprise pricing is quote-based per user
  • Some advanced controls sit behind paid editions
  • Rollback can be difficult for production databases
  • Branch switching can leave local migration history out of sync
  • Database cloning is an additional per-terabyte license

01What Flyway is, technically

Flyway is database migration software that runs with your application or deployment tooling. It is not a hosted database service: the documented integration surfaces are a command-line tool, a Java API and a desktop GUI. You keep migration scripts with application code, then run them against a database as part of development, startup or CI/CD deployment.

The core job is to version database changes and apply pending migrations in order, including when starting from an empty database. Flyway uses plain SQL scripts rather than a proprietary XML format. It also supports Java migrations and scripts in languages including .ps1, .bat, .cmd, .sh, .bash and .py. Filesystem and classpath scanning can discover SQL and Java migrations.

This puts Flyway alongside application build and release tooling, not between your application and a hosted database proxy. Community supports more than 60 database platforms. Enterprise adds governance features for teams that need policy-as-code, drift detection and audit-ready change control.

02Flyway API, SDKs and docs

The main integration surfaces are the CLI and Java API. The homepage also names Maven and Gradle as ways to get started, plus a desktop GUI. A CLI migration can run with a database URL, user and password; the documented example uses flyway migrate. For application startup, the vendor describes shipping migrations with the application and running them through the API.

Flyway requires Java 7+ and a JDBC driver, according to the homepage. Its migration formats include plain SQL, Java and scripts in .ps1, .bat, .cmd, .sh, .bash and .py; on non-Windows platforms, the vendor says script migrations work without extensions. The vendor also describes SQL Fluff integration support and filesystem and classpath scanning for automatic discovery.

Getting-started documentation and community forums are listed alongside the downloads. Flyway is designed for CI/CD deployment pipelines, but teams should confirm the current setup instructions for their database and build environment in the vendor's docs. The homepage does not name a REST API or language SDKs beyond the Java API.

03Flyway pricing for developers

Flyway Community is free for individuals and education. It includes the API/CLI, desktop GUI, plain SQL migrations and support for more than 60 database platforms. The vendor positions it as the foundation for versioning and deploying migrations; Enterprise is the edition for teams seeking governance and additional controls.

Flyway Enterprise is licensed per user, with quote-based pricing. It includes 60+ database platforms, policy-as-code and drift detection, and offers bespoke or unlimited schema agreements. The listed free trial is 28 days. Flyway Teams (Legacy) is also quote-based per user, but only for existing-customer renewals and expansions; it has a maximum of 100 production schemas.

The pricing page does not publish Enterprise or legacy annual prices, so teams need a quote to estimate seat costs. Database cloning is licensed per terabyte. Other add-on and overage costs are not published. Ask Redgate how your schema count, user count, cloning needs and renewal status affect the quote before budgeting for production.

Full Flyway pricing breakdown →

04Flyway: open source, self-hosting and lock-in

The homepage describes Community as built on open source and says plain SQL avoids proprietary XML formats and lock-in. Flyway’s documented CLI and Java API run as part of your own build or application workflow; the described setup does not require a hosted Flyway control plane. The homepage links to GitHub and says the project has more than 120 contributors.

In Reddit discussions, commenters describe Flyway as open core and identify the Community code as Apache 2.0, while others dispute how the project’s development and contribution model has changed. Teams should verify the current licence and the exact edition boundaries in the repository and vendor terms before adopting it.

Migration scripts are ordinary SQL files, which gives teams a portable record of schema changes. The vendor does not describe a separate database data-export tool. Moving away means selecting another migration process and accounting for the history already applied to each database; do not assume another tool can take over that history automatically.

05Flyway in production

The vendor says Flyway is safe for cluster environments, where multiple machines can migrate in parallel, and describes a fail-fast startup model for inconsistent databases or failed migrations. Those claims make migration execution suitable for deployment workflows, but they do not replace release safeguards. Test scripts against the target database and plan how to recover from a failed or destructive change.

Production rollback is a point of disagreement in developer discussions. Some commenters say rollback is a paid feature; others argue that undoing changes after data has been written is often impractical. Treat rollback as a migration-specific recovery plan, not a universal guarantee. A Spring Boot discussion also reports local branch switching problems when one branch has migrations absent from another, sometimes requiring local history cleanup.

Community supports 60+ platforms. Enterprise adds policy-as-code, drift detection and audit-ready change control, plus regular updates and proactive fixes according to the vendor. The legacy Teams edition is capped at 100 production schemas. Confirm database coverage, edition requirements and recovery procedures before standardizing.

From the threadsWhat users say

Reddit sentiment is mostly positive about Community’s usefulness, with some concern about paid feature boundaries and the project’s open-source direction. Developers also call out rollback difficulty and local migration-history friction when switching branches.

Works for many teams
We use it in our company and had no problem whatsoever. I would recommend it
r/java · view thread
Community meets needs
We use the community edition in all our applications and don't miss a feature (yet)
r/java · view thread
Rollback concerns
Rollback in production is always difficult, and usually just not possible given enough data
r/java · view thread
Open-source debate
Flyway was sold a while ago and moved to an 'open core' business model
r/java · view thread

Questions people ask

Why do developers use Flyway?

Flyway versions database migration scripts and applies pending changes to keep environments aligned. Developers can keep plain SQL migrations with application code and run them through the CLI, Java API or build tools. The vendor positions it for CI/CD pipelines and application startup.

Is Flyway free to use?

Flyway Community is free and includes the API/CLI, desktop GUI, plain SQL migrations and support for more than 60 database platforms. Enterprise is quote-based per user and adds governance features such as policy-as-code and drift detection. Database cloning has a separate per-terabyte license.

What is the difference between Flyway Community and Enterprise?

Community provides the core migration workflow for free. Enterprise is aimed at teams needing more governance and control; the vendor lists policy-as-code, drift detection and audit-ready change control. Enterprise is quote-based per user, and its listed trial lasts 28 days.

Can Flyway run migrations automatically when an application starts?

Yes. The vendor describes shipping migrations with an application and running them on startup through the API. It also describes a fail-fast behavior in which an inconsistent database or failed migration prevents the application from starting. Test this workflow against your deployment process.

Does Flyway support production rollbacks?

Some Reddit commenters describe rollback as a paid Flyway feature, while others emphasize that reversing production changes can be difficult after data has changed. The vendor’s homepage does not list rollback among the Community features. Confirm edition availability with Redgate and design recovery around each migration.

Sources

  1. Flyway homepage
  2. Flyway pricing, compiled via web search from deployhq.com, g2.com, red-gate.com, amazon.com, componentsource.com
  3. Reddit: Flyway in 2024?
  4. Reddit: Flyway became closed source ?
  5. Reddit: What is Flyway in Spring Boot? And why teams stop using ddl-auto after learning it