Flyway: Database migration tool for schema versioning
Version-controlled SQL migrations with automated execution tracking.
Learn more about Flyway
Flyway is a Java-based database migration framework that automates schema versioning and deployment. It works by reading migration files from a specified location, tracking applied migrations in a metadata table, and executing pending migrations in order. The tool supports multiple databases including PostgreSQL, MySQL, Oracle, SQL Server, and others, and integrates with build tools like Maven and Gradle. Common deployment contexts include continuous integration pipelines, containerized environments, and multi-instance database management scenarios.

Broad database support
Supports 30+ database systems including cloud platforms like Aurora, Azure Synapse, Snowflake, and BigQuery, as well as traditional databases like Oracle, DB2, and SQL Server.
Build tool integration
Provides native plugins for Maven and Gradle, with additional community support for Ant, SBT, Spring Boot, and other build systems.
Version tracking mechanism
Maintains a metadata table in the target database to record applied migrations, enabling detection of pending changes and prevention of duplicate execution.
import org.flywaydb.core.Flyway;
Flyway flyway = Flyway.configure()
.dataSource("jdbc:postgresql://localhost:5432/mydb", "user", "password")
.load();
// Execute pending migrations
flyway.migrate();Top in Data Engineering
Related Repositories
Discover similar tools and frameworks used by developers
pandas
Labeled data structures for tabular data analysis.
Luigi
Build complex batch pipelines with dependency management.
Patroni
Automates PostgreSQL failover using distributed consensus systems.
Apache Superset
Flask-based BI platform for SQL database visualization.
dbt
SQL-based transformation framework for analytics data warehouses.