DEV.co
Open-Source DevOps · flyway

flyway

Flyway is an open-source database migration tool maintained by Redgate that automates schema changes across 50+ databases. It provides version-controlled SQL migrations, supports Java, Maven, Gradle, and integrates with Docker and multiple build tools.

Source: GitHub — github.com/flyway/flyway
9.9k
GitHub stars
1.6k
Forks
Java
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryflyway/flyway
Ownerflyway
Primary languageJava
LicenseApache-2.0 — OSI-approved
Stars9.9k
Forks1.6k
Open issues251
Latest releaseflyway-12.10.0 (2026-06-30)
Last updated2026-06-30
Sourcehttps://github.com/flyway/flyway

What flyway is

Flyway executes versioned SQL migration scripts against target databases, tracking applied migrations in a metadata table. It supports Oracle, PostgreSQL, MySQL, SQL Server, MongoDB, Snowflake, and others, with Java-based CLI and library APIs for integration into build pipelines and application startup flows.

Quickstart

Get the flyway source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/flyway/flyway.gitcd flyway# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

CI/CD Pipeline Integration

Automate database schema deployment alongside application releases using Maven, Gradle, or command-line invocation; tracks migration state per environment to prevent re-runs.

Multi-Database Polyglot Deployments

Manage schema changes uniformly across heterogeneous database platforms (PostgreSQL, MySQL, Oracle, MongoDB, etc.) using a single migration framework.

Microservices Database Evolution

Enable each service to version its schema migrations independently; supports Spring Boot auto-configuration and containerized (Docker) deployments.

Implementation considerations

  • Define a versioning scheme (e.g., V1__initial.sql, V2__add_column.sql) and enforce naming conventions early; migration naming is critical for ordering and traceability.
  • Design migrations to be idempotent where possible and plan rollback strategies; Flyway does not auto-rollback, so undo migrations must be manual V-numbered scripts.
  • For large databases, test migrations in staging environments to estimate duration and ensure lock/timeout behavior meets deployment windows.
  • Integrate into build pipelines with explicit configuration (location, placeholder tokens, schemas); parameterize for multi-environment deployments (dev, staging, prod).
  • Consider baseline() for legacy systems to establish a known starting point without re-running historical migrations.

When to avoid it — and what to weigh

  • Complex Interactive Schema Design — Flyway is script-driven; it does not provide a GUI for visual schema modeling or real-time conflict resolution. Use Redgate Enterprise or dedicated schema tools if interactive design is required.
  • Non-Relational Document Validation — While Flyway supports MongoDB and Cassandra, it is optimized for SQL migrations; if you need rich document validation or schema enforcement on NoSQL systems, alternatives may better suit your needs.
  • Legacy Monolithic Systems with Tight DB Coupling — Flyway assumes forward-compatible migrations; systems with complex cross-schema dependencies or zero-downtime requirements may require additional orchestration.
  • Proprietary or Embedded Databases Without JDBC/Driver Support — Flyway depends on database drivers; unsupported or proprietary databases require custom community plugins or commercial support.

License & commercial use

Apache License 2.0 (ASL 2.0). Permissive OSI-approved open-source license. Full source code available on GitHub; modifications and redistribution allowed under terms of the license.

Apache 2.0 permits commercial use of the OSS edition without warranty or support guarantees. Redgate also offers Flyway Community (free, maintained by Redgate) and Flyway Enterprise (commercial, with GUI, support, and advanced features). Verify your deployment model and support needs before choosing between OSS and commercial editions.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Flyway executes SQL scripts with credentials provided; ensure database user privileges follow least-privilege principle. Store migration scripts in version control; rotate database passwords regularly. No built-in secrets management—use environment variables or external secret stores (e.g., HashiCorp Vault, AWS Secrets Manager). Network access to target databases should be restricted. Review custom plugins for security issues. Metadata table (_flywaydb_history or similar) contains execution history; access control recommended.

Alternatives to consider

Liquibase

XML/YAML-based migrations with broader platform support and rollback capabilities; steeper learning curve but more declarative change management.

db-migrate (Node.js) / Alembic (Python)

Language-native migration tools if Java ecosystem not preferred; lighter footprint for non-Java services.

Redgate Flyway Enterprise / Community

Official paid tiers with GUI, version control integration, and advanced DevOps features if OSS CLI insufficient for enterprise needs.

Software development agency

Build on flyway with DEV.co software developers

Let Devco's DevOps experts evaluate Flyway for your infrastructure or architect a robust schema-change strategy. Contact us to discuss multi-environment deployments, CI/CD integration, and migration best practices.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

flyway FAQ

Does Flyway support rollback?
No automatic rollback. Rollback is manual: create a new migration script (e.g., V3__undo_v2.sql) that reverses the previous change. Undo migrations are supported in Redgate Enterprise edition.
Can Flyway run migrations in parallel across shards?
Flyway itself is single-threaded per database. For multi-shard deployments, invoke Flyway separately per shard instance or orchestrate via external tooling (e.g., Kubernetes jobs).
What happens if a migration fails midway?
Flyway marks the migration as failed in the metadata table and halts. Resolution is manual: fix the script, re-run, or use repair() to mark as successful (caution: use only if problem is truly resolved).
Is Flyway free for production use?
Yes, the OSS edition (Apache 2.0) is free for production. No warranty is provided; support is community-based. Redgate offers commercial editions with SLAs and professional support.

Software development & web development with DEV.co

Need help beyond evaluating flyway? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source devops integrations — and maintain them long-term.

Ready to streamline your database deployments?

Let Devco's DevOps experts evaluate Flyway for your infrastructure or architect a robust schema-change strategy. Contact us to discuss multi-environment deployments, CI/CD integration, and migration best practices.