30 open-source projects similar to flyway/flyway, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
gh-ost is a triggerless online schema migration tool for MySQL. It functions as a replication client and table management utility that synchronizes data from a source table to a shadow table using binary logs, allowing for table structure modifications without locking original tables or causing downtime. The tool distinguishes itself by using binary-log-based replication instead of triggers to stream row-based events to a shadow table. It implements load-aware throttling and dynamic performance tuning to adjust migration speed based on server load and replication lag. Users can monitor and ad
Liquibase is a database schema change management tool and version control system designed to track, manage, and apply versioned database modifications. It functions as a SQL migration framework and DevOps automation utility that integrates database deployments into continuous delivery pipelines and build toolchains. The system enables precise rollbacks and drift detection by recording every modification made to a database schema. It supports the definition of database changes through structured changesets in XML, YAML, or JSON, as well as raw SQL scripts, to ensure consistent deployments acro
Dbmate is a framework-agnostic SQL database migration tool used for tracking, applying, and rolling back schema changes to ensure consistent environments. It functions as a database schema versioning tool that manages updates independently of any specific application framework by relying on raw SQL and connection URLs. The project distinguishes itself by offering a container-based approach to database administration, allowing schema updates to be executed via Docker to avoid local binary installations. It also supports embedding migration scripts directly into the compiled binary to eliminate
This project is a database version control system and schema evolution manager designed to track and apply incremental changes to database structures. It serves as a tool for versioning SQL database migrations using both programmatic PHP classes and SQL scripts. The system is designed specifically for integration with the Doctrine Object Relational Mapper for PHP, allowing database schemas to evolve incrementally without data loss through reversible migration steps. It covers capabilities for automated database migrations, environment synchronization, and schema versioning. These features fa
Goose is a database schema versioning system and SQL migration tool designed for Go applications. It functions as a framework for tracking and applying incremental database changes through versioned SQL scripts, ensuring consistency across different environments. The project distinguishes itself by providing a build-time capability to exclude unused database drivers to optimize binary size and a filesystem abstraction that allows migration scripts to be bundled directly into a compiled executable. It also supports out-of-order execution logic to apply missing scripts that were created after a
Bytebase is a database DevSecOps platform and management console designed to orchestrate schema migrations, deployments, and security audits across multiple database engines. It serves as a SQL GitOps tool that synchronizes database states with configurations stored in Git repositories to manage infrastructure as code. The platform distinguishes itself through a multi-database management console that provides a single interface for relational and NoSQL databases. It includes a security layer for role-based access control, database activity auditing, and column-level data masking to protect se
This project is a database migration framework designed to manage and execute versioned schema changes across multiple relational and document-oriented database systems. It functions as a utility for tracking and applying structural modifications through sequential migration scripts, ensuring that database schemas remain consistent across development, testing, and production environments. The framework utilizes a driver-based abstraction layer that decouples migration logic from specific database engines, allowing for a unified interface when performing schema operations. It maintains state t
Atlas is a SQL database schema management tool and database infrastructure as code framework. It provides a declarative database migration engine that computes the difference between a desired schema state and the current database state to automatically generate the necessary SQL for transitions. The project distinguishes itself through a comprehensive suite of analysis and visualization tools, including a database schema linter that detects destructive changes and data loss risks. It also features a SQL schema visualization tool capable of generating entity-relationship diagrams from extract
This project is a command-line utility designed to manage database schema versioning and automate incremental schema updates. It functions as a version control system for database structures, ensuring consistency across environments by tracking applied migrations in a dedicated metadata table and executing scripts in a sequential, reliable manner. The tool distinguishes itself through a driver-based abstraction layer that supports a wide range of database engines, including various SQL and distributed cloud databases. It provides robust concurrency control through advisory locking, which prev
Data-migrate is a command-line utility designed for managing and executing sequential data transformations alongside standard database schema migrations. It functions as a framework for version control, allowing teams to track, roll back, and synchronize both structural database changes and data updates across multiple environments and deployment pipelines. The tool distinguishes itself by coordinating migrations across multiple database connections within a single application, ensuring data integrity in distributed architectures. It supports modular project structures by allowing migration s
Standalone Migrations is a Ruby-based utility that provides database schema management and migration capabilities outside of a full web framework. It enables developers to track, version, and apply structural changes to relational databases using standard migration scripts in custom or non-framework environments. The tool distinguishes itself by offering multi-database isolation, allowing for the management of independent data stores within a single project through separate configuration sets and migration paths. It supports dynamic environment-aware configuration, which allows connection set
Gel is an object-relational database system that models data as a graph of interconnected objects. By utilizing a strongly typed schema, it enables complex relational queries and polymorphic data structures without the need for traditional join tables. The system integrates native vector storage and similarity search operators, allowing it to function as both a relational and a vector database for semantic data retrieval. The platform distinguishes itself through a comprehensive suite of developer-centric automation tools. It features a declarative migration system that tracks and versions sc
Sequel is a relational database toolkit for Ruby that provides object-relational mapping, a fluent SQL query builder, and schema migration capabilities. It maps database tables to Ruby classes with support for associations, validations, lifecycle hooks, and eager loading, offering a comprehensive ORM layer for building data-centric applications. Sequel distinguishes itself through a plugin-based extension architecture that allows composable customization of models, databases, and datasets without relying on deep inheritance hierarchies. It includes a thread-safe connection pool with support f
Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements. The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan
Prisma is a type-safe database object-relational mapper that uses a declarative schema to map data models to relational and document databases. It provides a unified toolkit for data access, combining a database driver with tools for schema management and record manipulation. The project features a multi-database driver that standardizes interactions across PostgreSQL, MySQL, and MongoDB. It includes a system for tracking and applying structural schema migrations across different environments and a graphical user interface for browsing and editing database records. The system ensures data in
This project is a Model Context Protocol server and AI agent database connector. It provides a standardized communication layer that allows language models to interact with relational data stores, read database schemas, and manage PostgreSQL database resources. The implementation acts as a serverless host for the Model Context Protocol, deploying on distributed edge functions to connect AI assistants to a project. This enables AI agents to perform database administration, execute SQL queries, and handle schema migrations through an AI-compatible interface. The system covers broader capabilit
This project is a full-stack web application scaffolder designed to initialize production-ready projects with pre-configured database, authentication, and deployment settings. It provides a standardized starting point for development by generating a complete application structure that includes integrated backend, frontend, and database components. The template distinguishes itself through a type-safe integration layer that automatically synchronizes backend API definitions with frontend client code, ensuring consistent data exchange. It also features a containerized development environment th
TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform
Drizzle ORM is a TypeScript-native database toolkit providing type-safe SQL query building, schema management, and automated migrations across PostgreSQL, MySQL, SQLite, and SingleStore.
Ebean is a Java object-relational mapping framework designed to simplify database persistence through automated query generation, schema migration, and transaction management. It uses metadata-driven mapping and bytecode enhancement to bridge the gap between application objects and relational database tables, providing a persistent layer that handles complex data interactions while maintaining consistency across unit-of-work boundaries. The framework distinguishes itself through its focus on developer productivity and performance optimization. It provides type-safe query builders that generat
This toolkit provides an asynchronous interface for interacting with relational databases, offering a unified driver-agnostic layer for managing connection pools and executing transactions. It is designed to integrate with asynchronous runtimes, enabling non-blocking database operations while maintaining secure, encrypted communication between the application and the database server. The project distinguishes itself through its compile-time validation capabilities, which use procedural macros to inspect SQL syntax and parameter types against a live database schema during the build process. Th
Sequelize is an object-relational mapping library that provides a unified interface for managing relational data through code. By implementing the Active Record pattern, it maps database tables to application objects, allowing developers to perform standard create, read, update, and delete operations using high-level method calls. The library abstracts complex database interactions by translating these calls into optimized, engine-specific SQL statements, ensuring consistent behavior across different database systems. The project distinguishes itself through a comprehensive suite of tools for
Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js applications. It translates TypeScript entities into relational or document-based database schemas, supporting a variety of engines including PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, and MongoDB. The project implements the data mapper pattern to decouple in-memory domain models from the database persistence layer. It utilizes a unit of work pattern to track entity changes in memory and commit them in a single coordinated database transaction. The library covers com
Vaultwarden is a self-hosted password management server designed to store and synchronize sensitive credentials, identities, and organizational data across multiple client devices. It functions as a database-backed web application that provides an API layer for secure client-server communication, enabling users to manage personal vaults and organizational data sharing with multi-factor authentication. The project distinguishes itself through a comprehensive administrative infrastructure that provides centralized control over server configuration, user accounts, and system diagnostics via a de
Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using strongly-typed code. It serves as a comprehensive data access framework, providing a unified interface for mapping application objects to relational and non-relational database schemas while managing the lifecycle of data operations through a central context. The project distinguishes itself through a provider-based architecture that decouples core data access logic from specific database engines, allowing for consistent interaction across diverse storage systems. It features a
POCO is a comprehensive C++ application framework that provides a cross-platform set of libraries for building network-centric applications. It offers a unified abstraction layer that wraps platform-specific APIs, enabling the same code to run across desktop, server, mobile, IoT, and embedded systems. The framework is organized into modular libraries that can be compiled and linked selectively, allowing developers to include only the components their application needs. The framework distinguishes itself through its broad coverage of application infrastructure needs, including threading and sy
Peewee is a SQL object-relational mapper and query builder that provides an object-oriented interface for mapping application classes to relational database tables. It functions as a relational database toolkit for managing schemas, executing migrations, and handling complex table relationships. The project distinguishes itself by providing an asyncio database driver for non-blocking database operations, ensuring event loop responsiveness. It also supports semi-structured data storage, allowing the storage and querying of flexible JSON documents within traditional relational database systems.
Dokploy is a self-hosted platform-as-a-service designed to simplify the deployment and management of containerized applications and databases. It provides a centralized control plane that decouples administrative management from application workloads, allowing users to oversee infrastructure across multiple server nodes through a unified web interface or a command-line tool. The platform distinguishes itself through an extensive library of pre-configured application templates, enabling the rapid deployment of databases, identity providers, and various productivity or development tools. It sup
Detekt is a static analysis tool, code quality linter, and complexity analyzer for Kotlin source code. It functions as a code smell detector and static scanner designed to identify potential bugs, design flaws, and violations of coding standards without executing the program. The tool differentiates itself through the use of issue baselining, which allows users to create a snapshot of existing legacy code issues to filter out old violations and focus on preventing new regressions. It further supports extensibility via a plugin-based system that allows for the integration of custom rule sets a
Template.js is a JavaScript template engine designed for parsing and rendering dynamic HTML content in both browser and server-side environments. It functions as a frontend logic library that manages complex user interfaces through data injection, template composition, and extensible rendering logic. The engine distinguishes itself by prioritizing performance through build-time template compilation, which transforms template files into executable modules or functions to minimize runtime overhead. It also incorporates a secure execution sandbox that restricts template logic to a controlled sco