Skip to content
SPECIFICTION
Get listed

DBC

github.com

WindowsmacOSLinux

What it is

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.

Spec sheet

Purpose
DBC captures database schema snapshots and compares them across versions, environments, or database systems.Read 7 Oct 2026 · github.com
License
The repository includes an MIT License, which grants permission to use, copy, modify, distribute, and sell the software subject to its conditions.Read 7 Oct 2026 · github.com
Data checks
Optional data checksums can detect data modifications, and exact row counts are enabled by default.Read 7 Oct 2026 · github.com
Data verification
Optional data checksums can detect data modifications, and exact row counts are enabled by default.Read 4 Oct 2026 · github.com
Databases
The README lists MySQL, PostgreSQL, SQL Server, Oracle, and SQLite support.Read 7 Oct 2026 · github.com
Driver design
Database drivers are separate executables that communicate with the core application over JSON-RPC via stdin and stdout.Read 7 Oct 2026 · github.com
Installation
The README describes building the core binary and drivers from source with Make.Read 7 Oct 2026 · github.com
Intended use
The README describes workflows for comparing database versions and development and production environments to find schema drift.Read 7 Oct 2026 · github.com
Release availability
The GitHub Releases page opened for this research shows no release entries.Read 4 Oct 2026 · github.com
Release status
The releases page lists v0.1.0-alpha as a pre-release and provides installation instructions for Linux, macOS, and Windows.Read 7 Oct 2026 · github.com
Reports
Comparison reports can be output as text, JSON, or HTML.Read 7 Oct 2026 · github.com
Roadmap
The README lists CI/CD examples, Docker support, migration script generation, and a web UI as roadmap items.Read 4 Oct 2026 · github.com
Schema changes
It detects changes to tables, columns, indexes, foreign keys, and constraints.Read 7 Oct 2026 · github.com
Schema comparison
DBC tracks tables, columns, indexes, foreign keys, and constraints to detect schema changes.Read 4 Oct 2026 · github.com
Security detail
The README says drivers run in separate processes with timeouts.Read 7 Oct 2026 · github.com

Strong points and limits

Strong points

  • Supports five database systems.
  • Tracks tables, indexes, keys, and constraints.
  • Optional checksums and default exact row counts.
  • Text, JSON, and HTML reports.
  • Available for Linux, macOS, and Windows.

Limits

  • Installation requires building from source with Make.
  • The listed release is a pre-release.
  • Migration script generation is a roadmap item.

Who it suits

DBC suits teams comparing database versions or development and production environments to find schema drift. It is also relevant to users who need cross-engine comparisons and optional data checks.

Verdict

DBC covers schema comparison across five database systems and can include data checks. Its listed release is a pre-release, and installation instructions describe building from source.

Where Specifiction places it

Alternatives to DBCAll alternatives →