Tools that enable branching, merging, and versioning for database schemas and data like Git repositories.
Flyway is a database schema versioning tool and SQL migration orchestrator. It applies version-controlled schema changes to relational databases using SQL scripts and Java Database Connectivity to ensure environments remain consistent and reproducible. The tool tracks applied migration scripts in a dedicated metadata table to determine which updates require execution. It supports the synchronization of schema versions across multiple different database engines and provides integration for build systems and application frameworks to automate updates during software release processes. Capabili
Flyway is a database migration tool that handles schema versioning and synchronization across multiple engines, though it lacks the branching, merging, and time-traveling capabilities required for a full data version control system.
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
This tool provides robust schema versioning and migration management across many database engines, though it focuses on sequential schema evolution rather than the branching, merging, and time-traveling workflows found in specialized data versioning systems.
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
Gel is a graph-relational database that includes native schema versioning, branching, and merging capabilities, though it functions as a complete database engine rather than a standalone version control tool for external databases.
Dolt is a relational database engine that integrates version control directly into the database management layer. It functions as a version-controlled SQL database that tracks every row and schema change using a commit-based history, allowing users to branch, merge, and audit data modifications. By implementing a wire-protocol-compatible server, the system enables standard SQL clients and tools to interact with versioned data as if they were connecting to a traditional relational database. The platform distinguishes itself by applying repository-style workflows to data management, including s
Dolt is a relational database that natively implements Git-like version control, providing the requested branching, merging, time-traveling, and CLI-first workflow directly within the database engine.
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
Dbmate is a database migration tool that handles schema versioning and lifecycle management, though it lacks the advanced branching, merging, and time-traveling capabilities required for a full-featured data version control system.
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
Atlas is a robust schema management and migration tool that provides declarative versioning and CI/CD integration for database infrastructure, though it lacks native data-level branching and time-travel features.
Delta is a lakehouse table format that brings ACID transactions and data warehouse consistency to large scale data lakes on cloud object storage. It serves as an ACID transaction manager, coordinating atomic commits and serializable isolation for concurrent reads and writes across distributed compute engines. The project provides a multi-engine interoperability layer that uses format translation to allow diverse SQL engines and processing frameworks to read and write the same tables. It functions as a data versioning system, utilizing a transaction log to enable time travel, historical snapsh
Delta Lake provides robust data versioning, time travel, and ACID transaction management for data lakes, serving as a powerful foundation for data-centric version control even though it focuses on table formats rather than traditional schema-based database migration workflows.
SQLite.swift is a type-safe Swift wrapper and object-relational mapping layer that provides a bridge for interacting with SQLite databases. It functions as a database driver that allows for embedded database management and local data persistence within Swift applications. The project distinguishes itself through a type-safe expression builder that verifies SQL statement syntax and intent at compile time. It includes specialized support for high-performance text matching via full-text search integration and provides mechanisms for securing sensitive data through database encryption. The libra
This is a type-safe Swift wrapper and ORM for SQLite that provides schema migration tools, but it lacks the branching, merging, and time-traveling capabilities required for a dedicated database version control system.
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
This is a database migration tool that manages schema versioning and incremental updates, though it lacks the advanced branching, merging, and time-traveling features required for a full-featured data version control system.
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
This is a database driver and query toolkit that provides schema migration utilities, but it lacks the branching, merging, and time-traveling capabilities required for a full database version control system.