Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Database Schema Comparison Tools
  3. DBDiff

DBDiff

What it is

DBDiff compares two local or remote databases and creates a migration file containing their differences. Its drivers support MySQL, PostgreSQL, and SQLite. A diff can cover tables, views, materialized views, triggers, routines, types, domains, sequences, row-level-security policies, and data. YAML configuration and CLI options let users include or exclude tables, exclude columns, filter rows, and set schema or data scope by table. DBDiff generates up and down SQL in native SQL, Flyway, Liquibase XML or YAML, Laravel Migrations, and custom templates. Its built-in migration runner includes commands for creating, applying, rolling back, inspecting, validating, repairing, and baselining migrations. A Supabase option selects PostgreSQL and enables SSL; it reads the public schema but excludes managed auth and storage schemas. Pre-built binaries for Windows, macOS, and Linux do not require PHP, Node, or Composer. PHAR and Composer installations require PHP 8.1 or later. The project is open source under the MIT license.

For and against

For

  • Supports MySQL, PostgreSQL, and SQLite.
  • Diffs schemas, row-level-security policies, and data.
  • Generates up and down migration SQL.
  • Includes a built-in migration runner.
  • Pre-built binaries require no PHP, Node, or Composer.

Against

  • Supabase diffs exclude managed auth and storage schemas.
  • PHAR and Composer installs require PHP 8.1 or newer.
  • PostgreSQL enum changes can leave dependent objects unmigrated.

The verdict

DBDiff offers broad database comparison and migration features, including a runner and multiple output formats. Check its Supabase scope and documented PostgreSQL migration limitations against the databases you need to manage.

Who it suits

DBDiff suits developers and database teams that compare schemas or data and generate migrations across supported database engines. It also fits users who need filtering, migration-runner commands, or integrations such as Flyway and Liquibase.

On the record

Built-in runner
The CLI includes commands to create, apply, roll back, inspect, validate, repair, and baseline migrations.dbdiff.dev · read 2 Oct 2026
Containers
Multi-architecture Docker and Podman images for linux/amd64 and linux/arm64 are published to GHCR on every release.dbdiff.dev · read 1 Oct 2026
Database support
It supports MySQL, PostgreSQL, and SQLite through its CLI drivers.dbdiff.dev · read 2 Oct 2026
Database variants
The site lists compatible services including AWS Aurora, RDS, Neon, AlloyDB, CockroachDB, YugabyteDB, TimescaleDB, and pgvector, while noting that most are not core-team tested.dbdiff.dev · read 2 Oct 2026
Diff coverage
It can diff tables, views, materialized views, triggers, routines, types, domains, sequences, row-level security policies, and data.dbdiff.dev · read 2 Oct 2026
Filtering
YAML configuration and CLI options support table inclusion and exclusion, column exclusions, row filters and per-table schema or data scope.dbdiff.dev · read 1 Oct 2026
Installation
DBDiff is distributed as pre-built binaries, a PHAR, an npm package, Docker/Podman images, and Composer source.dbdiff.dev · read 2 Oct 2026
Integrations
The site documents Supabase support and compatibility with tools including Flyway, Liquibase, Laravel Migrations, Docker, and Podman.dbdiff.dev · read 2 Oct 2026
License
DBDiff is distributed under the MIT license.dbdiff.dev · read 2 Oct 2026
Limitations
For Supabase, DBDiff reads the public schema; objects in managed schemas such as auth and storage are outside the diff.dbdiff.dev · read 2 Oct 2026
Maker
Akal Software lists DBDiff as an open-source project and describes itself as a London-based technology consultancy.akalsoftware.com · read 2 Oct 2026
Migration integrations
DBDiff supports Flyway, Liquibase, Laravel Migrations and other compatible migration tools.dbdiff.dev · read 1 Oct 2026
Migration output
It generates up and down SQL and supports native SQL, Flyway, Liquibase XML/YAML, Laravel Migrations, and custom templates.dbdiff.dev · read 2 Oct 2026
Migration runner
The built-in migration runner provides new, up, down, status, validate, repair and baseline commands.dbdiff.dev · read 1 Oct 2026
Operating systems
Pre-built binaries are listed for Windows, macOS, and Linux, with x64 and arm64 variants.dbdiff.dev · read 2 Oct 2026
Performance
Schema diffing uses a constant number of round-trips regardless of table count and has been tested on databases with millions of rows.dbdiff.dev · read 1 Oct 2026
PostgreSQL limitation
The site documents cases where enum label removal or reordering cannot automatically migrate dependent routines, types, partition keys, or certain views.dbdiff.dev · read 2 Oct 2026
PostgreSQL renderer
On PostgreSQL 16 test cases, the built-in renderer reproduced 68 of 90 cases and pg_dump reproduced 81 of 90 when available and new enough.dbdiff.dev · read 1 Oct 2026

Alternatives to DBDiff

Every alternative, ranked