For Git-style branching for my database, the first results are dolthub/dolt (Dolt is a version-controlled SQL database that lets you branch, merge, and track every row and schema change with Git-like commands and a commit history, and it is self-hostable and SQL-compatible — exactly the kind of tool you are looking for), attic-labs/noms (Noms is a distributed version-controlled database that uses immutable commits, cryptographic hashing, branching, and merging exactly like Git, and it supports querying via GraphQL and self-hosting, making it a direct fit for version-controlled database needs) and neondatabase/neon (Neon is a PostgreSQL database with branching for instant isolated copies, making it a version-controlled database, but it does not provide merging, commit history, or the Git-like CLI workflow the search is after). amacneil/dbmate and liquibase/liquibase round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Tools that enable branching, merging, and versioning for database schemas and data like Git repositories.
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 version-controlled SQL database that lets you branch, merge, and track every row and schema change with Git-like commands and a commit history, and it is self-hostable and SQL-compatible — exactly the kind of tool you are looking for.
Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic hashes to ensure integrity and deduplication, while tracking dataset state changes through a sequence of immutable commits to enable branching, forking, and historical recovery. The system functions as a peer-to-peer data synchronizer, reconciling state between disconnected database instances to ensure all nodes converge on the same data. It distinguishes itself as a schema-flexible document store that supports self-describing types, allowing schemas to evolve and widen as ne
Noms is a distributed version-controlled database that uses immutable commits, cryptographic hashing, branching, and merging exactly like Git, and it supports querying via GraphQL and self-hosting, making it a direct fit for version-controlled database needs.
Neon is a serverless PostgreSQL database platform designed with a decoupled storage and compute architecture. It functions as a multi-tenant system that isolates data and compute resources for independent users on shared cloud infrastructure, utilizing a specialized PostgreSQL storage engine. The platform features a database branching system that allows for the creation of isolated, instant copies of a database for testing and development. It further distinguishes itself with an HTTP-based SQL gateway, enabling the execution of queries via HTTP requests and JSON responses without the need for
Neon is a PostgreSQL database with branching for instant isolated copies, making it a version-controlled database, but it does not provide merging, commit history, or the Git-like CLI workflow the search is after.
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 tracks schema changes as sequential migrations but does not implement branching, merging, or a Git-like CLI — it is a migration tool, not a version-controlled database with Git-like operations.
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
Liquibase is a schema migration tool that versions database changes, but it does not implement Git-like branching merging or provide a queryable version-controlled database—it applies migrations to existing databases rather than being the database itself.
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 tracks schema changes via linear SQL migrations, not Git-like branching and merging, so it’s a migration tool rather than a version-controlled database with branching workflows.
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
pressly/goose is a database schema migration tool that tracks and applies versioned SQL scripts, but it does not provide Git-like branching, merging, or revision history for schemas or data, which is the core capability you are looking for.
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
SQLite.swift is a Swift SQLite wrapper with schema-migration support, but it does not implement Git-like branching, merging, or data versioning, so it is a database library rather than the version-controlled database tool you need.
Azure Data Studio is a cross-platform SQL database management IDE used for writing queries, managing schemas, and administering relational databases. It functions as a comprehensive environment for relational database management, providing a structured interface for executing SQL queries and browsing database objects. The platform is distinguished by its interactive data notebooks, which combine executable code cells, narrative text, and visualizations for data analysis. It also includes specialized tools for database migration, allowing users to assess and transfer schemas and data from on-p
Azure Data Studio is a database management IDE for writing queries and managing schemas, but it does not implement Git-like branching, merging, or version control on schemas or data itself — it is a complementary tool, not the version-controlled database system you are looking for.
GRDB.swift is a comprehensive SQLite toolkit and object-relational mapper for Swift. It provides a database wrapper that handles local data persistence, connection management, and encrypted file storage for Apple platforms. The library features a dedicated observation framework that tracks database changes to automatically synchronize the application state and user interface in real time. It distinguishes itself with a type-safe query builder and a protocol-based mapping system that converts database rows into structured Swift objects. The toolkit covers a broad range of administrative and o
GRDB.swift is a SQLite toolkit and ORM for Swift, but it provides no Git-like branching, merging, or version-controlled database operations — it handles local persistence, not branched versioning of schemas or data.
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 relational database with a declarative migration system for schema versioning, but it does not offer Git-like branching, merging, or a commit-based workflow for data and schema changes, so it falls short of the key capability you need.
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
Bytebase is a database DevSecOps platform that uses Git for schema migration orchestration and state management, but it does not provide Git-like branching, merging, and version control directly on the database itself—it manages schema changes via external Git repositories rather than being a database with native versioning capabilities.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| dolthub/dolt | 23.6K | Go | Apache-2.0 | |
| attic-labs/noms | 7.4K | Go | Apache-2.0 | |
| neondatabase/neon | 22.3K | Rust | Apache-2.0 | |
| amacneil/dbmate | 7K | Go | MIT | |
| liquibase/liquibase | 5.5K | Java | NOASSERTION | |
| flyway/flyway | 9.8K | Java | Apache-2.0 | |
| pressly/goose | 10.2K | Go | other | |
| stephencelis/sqlite.swift | 10.2K | Swift | MIT | |
| microsoft/azuredatastudio | 7.7K | TypeScript | MIT | |
| groue/grdb.swift | 8.2K | Swift | mit |