DBC
What it is
DBC is a free, Go-based command-line tool for comparing database schemas across versions, environments, or database systems. It tracks tables, columns, indexes, foreign keys, and constraints to identify schema changes, making it suited to checking for drift between development and production or between releases. It lists support for MySQL, PostgreSQL, SQL Server, Oracle, and SQLite. Optional data checksums can flag data modifications, while exact row counts are enabled by default. Results are available in text, JSON, and HTML formats. Database drivers run as separate executables and exchange messages with the core application over JSON-RPC through standard input and output; the README also describes timeouts for those processes. Building the core and drivers from source with Make commands is the documented installation approach. DBC is listed for Linux, macOS, and Windows and is licensed under MIT. Its README lists CI/CD examples, Docker support, migration script generation, and a web interface as roadmap items. The Releases page lists v0.1.0-alpha as a pre-release, with installation instructions for all three platforms.
For and against
For
- Supports five listed database systems.
- Tracks tables, columns, indexes, keys, and constraints.
- Optional checksums and default exact row counts.
- Reports are available in text, JSON, and HTML.
- Listed for Linux, macOS, and Windows.
Against
- Installation instructions describe building from source.
- v0.1.0-alpha is listed as a pre-release.
- Migration script generation is a roadmap item.
The verdict
DBC brings schema comparison across several database systems into a command-line workflow, with optional data checks and multiple report formats. Its listed pre-release status and source-build instructions are worth considering before adopting it.
Who it suits
DBC suits developers or database teams checking schema drift between environments or versions across supported database engines. It is a command-line tool, and the documented build process uses Make.
On the record
- Databases
- The README lists MySQL, PostgreSQL, SQL Server, Oracle, and SQLite support.github.com · read 7 Oct 2026
- Data checks
- Optional data checksums can detect data modifications, and exact row counts are enabled by default.github.com · read 7 Oct 2026
- Data verification
- Optional data checksums can detect data modifications, and exact row counts are enabled by default.github.com · read 4 Oct 2026
- Driver design
- Database drivers are separate executables that communicate with the core application over JSON-RPC via stdin and stdout.github.com · read 7 Oct 2026
- Installation
- The README describes building the core binary and drivers from source with Make.github.com · read 7 Oct 2026
- Intended use
- The README describes workflows for comparing database versions and development and production environments to find schema drift.github.com · read 7 Oct 2026
- License
- The repository includes an MIT License, which grants permission to use, copy, modify, distribute, and sell the software subject to its conditions.github.com · read 7 Oct 2026
- Purpose
- DBC captures database schema snapshots and compares them across versions, environments, or database systems.github.com · read 7 Oct 2026
- Release availability
- The GitHub Releases page opened for this research shows no release entries.github.com · read 4 Oct 2026
- Release status
- The releases page lists v0.1.0-alpha as a pre-release and provides installation instructions for Linux, macOS, and Windows.github.com · read 7 Oct 2026
- Reports
- Comparison reports can be output as text, JSON, or HTML.github.com · read 7 Oct 2026
- Roadmap
- The README lists CI/CD examples, Docker support, migration script generation, and a web UI as roadmap items.github.com · read 4 Oct 2026
- Schema changes
- It detects changes to tables, columns, indexes, foreign keys, and constraints.github.com · read 7 Oct 2026
- Schema comparison
- DBC tracks tables, columns, indexes, foreign keys, and constraints to detect schema changes.github.com · read 4 Oct 2026
- Security detail
- The README says drivers run in separate processes with timeouts.github.com · read 7 Oct 2026