DBC vs dbdiff
DBC
github.comdbdiff
rekurt.github.ioSide by side
| Figure | DBC | dbdiff |
|---|---|---|
| Price from | — | — |
| Free plan | — | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 0 |
| Spec score · Database Schema Comparison Tools | 7.2 (#13) | 7.7 (#10) |
| License | The repository includes an MIT License, which grants permission to use, copy, modify, distribute, and sell the software subject to its conditions. | The project page identifies the license as MIT. |
| Purpose | DBC captures database schema snapshots and compares them across versions, environments, or database systems. | DBDiff compares local or remote databases and generates a migration file for their differences. |
In their own words
DBC
DBC is a free, open-source command-line tool for comparing database schemas across versions, environments, or database systems. Built with Go, it captures schema snapshots and checks tables, columns, indexes, foreign keys, and constraints for changes. It supports MySQL, PostgreSQL, SQL Server, Oracle, and SQLite. Optional data checksums can reveal data modifications, while exact row counts are enabled by default. Results can be output as text, JSON, or HTML. Database drivers run as separate executables and communicate with the core application over JSON-RPC through standard input and output; the README notes that drivers use timeouts but makes no certification or compliance claim. Building the core and drivers from source with Make is the documented installation route. DBC is licensed under MIT and is listed for Linux, macOS, and Windows. The releases page lists v0.1.0-alpha as a pre-release. CI/CD examples, Docker support, migration script generation, and a web UI appear on the roadmap, not among the available features.
dbdiff
DBDiff is a free, MIT-licensed tool for comparing local or remote MySQL, PostgreSQL, and SQLite databases and generating migrations from schema or data differences. It can produce SQL migrations with up and down changes, using native SQL, Flyway, Liquibase, Laravel, or custom templates. The migration runner can create, apply, roll back, check, validate, repair, and baseline migrations. Listed comparison targets include tables, views, triggers, routines, types, sequences, row-level security policies, and data. Its configuration file can specify connections, drivers, diff scope, included or ignored tables and fields, and row filters. Installation options include pre-built Windows, macOS, and Linux binaries, npm, PHAR, Docker or Podman images, and Composer source. For PostgreSQL, DBDiff also compares row-level security policies and table security flags. By default, generation stops when a migration would drop a table or column, though an option permits those changes. One documented PostgreSQL limitation is that removing or reordering enum labels may leave dependent objects that prevent an automatically generated migration from applying.