Freedom251 › Database Schema Comparison Tools
DBDiff

What DBDiff is
DBDiff compares two local or remote databases and creates a migration file from their differences. Its drivers support MySQL, PostgreSQL and SQLite, and its diff can include tables, views, materialized views, triggers, routines, types, domains, sequences, row-level-security policies and data. YAML settings and CLI options let users include or exclude tables, exclude columns, filter rows and set schema or data scope by table. DBDiff can generate up and down SQL in native SQL, Flyway, Liquibase XML or YAML, Laravel Migrations, or custom templates. A built-in runner includes commands to create, apply, roll back, inspect, validate, repair and baseline migrations. For Supabase, an option selects PostgreSQL and enables SSL; the tool reads the public schema and excludes managed auth and storage schemas. Pre-built binaries are available for Windows, macOS and Linux without PHP, Node or Composer. PHAR and Composer installations require PHP 8.1 or newer. DBDiff is open source under the MIT license.
Who it suits
DBDiff suits developers and database teams who need to compare supported databases and generate migrations. Its runner and migration integrations may fit teams managing schema changes through a CLI or compatible migration tool.
What it does well
- Compares MySQL, PostgreSQL and SQLite.
- Generates up and down migration SQL.
- Includes a migration runner with validation commands.
- Pre-built binaries need no PHP, Node or Composer.
- Supports table and row filtering.
What to know first
- Supabase diffs cover only the public schema.
- PHAR and Composer installs require PHP 8.1 or newer.
- Some PostgreSQL changes cannot migrate dependent objects automatically.
Limits
For Supabase, DBDiff reads the public schema and excludes managed auth and storage objects. Its documentation notes that enum label removal or reordering cannot automatically migrate some dependent routines, types, partition keys or views.
Getting started
- Open the DBDiff website and choose a pre-built binary for Windows, macOS or Linux.
- Alternatively, use a PHAR or Composer installation with PHP 8.1 or newer.
- Configure the two local or remote databases to compare.
- Set any table, column, row, schema or data filters through YAML or CLI options.
- Generate migration output in the desired format, then use the runner or a compatible migration tool.
Verdict
DBDiff combines database comparison, migration generation and migration-running commands in one open-source tool. Check its Supabase scope and documented PostgreSQL migration limits against your database setup.
Questions
Is DBDiff free and open source?
Yes. DBDiff is released under the MIT license.
Which databases does it support?
Its database drivers support MySQL, PostgreSQL and SQLite.
Which operating systems can run DBDiff?
Pre-built binaries are listed for Windows, macOS and Linux, with x64 and arm64 variants.
Does installation require PHP?
Pre-built binaries do not require PHP, Node or Composer. PHAR and Composer installations require PHP 8.1 or newer.
Can DBDiff work with migration tools?
It supports output for Flyway, Liquibase, Laravel Migrations and custom templates, and includes a migration runner.
Who makes DBDiff?
Akal Software lists DBDiff as an open-source project and describes itself as a London-based technology consultancy.
Facts from DBDiff's own pages
- Built-in runner
- The CLI includes commands to create, apply, roll back, inspect, validate, repair, and baseline migrations. · dbdiff.dev, 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, 1 Oct 2026
- Database support
- It supports MySQL, PostgreSQL, and SQLite through its CLI drivers. · dbdiff.dev, 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, 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, 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, 1 Oct 2026
- Installation
- DBDiff is distributed as pre-built binaries, a PHAR, an npm package, Docker/Podman images, and Composer source. · dbdiff.dev, 2 Oct 2026
- Integrations
- The site documents Supabase support and compatibility with tools including Flyway, Liquibase, Laravel Migrations, Docker, and Podman. · dbdiff.dev, 2 Oct 2026
- License
- DBDiff is distributed under the MIT license. · dbdiff.dev, 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, 2 Oct 2026
- Maker
- Akal Software lists DBDiff as an open-source project and describes itself as a London-based technology consultancy. · akalsoftware.com, 2 Oct 2026
- Migration integrations
- DBDiff supports Flyway, Liquibase, Laravel Migrations and other compatible migration tools. · dbdiff.dev, 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, 2 Oct 2026
- Migration runner
- The built-in migration runner provides new, up, down, status, validate, repair and baseline commands. · dbdiff.dev, 1 Oct 2026
- Operating systems
- Pre-built binaries are listed for Windows, macOS, and Linux, with x64 and arm64 variants. · dbdiff.dev, 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, 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, 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, 1 Oct 2026
- Purpose
- DBDiff compares two local or remote databases and generates migration files from their schema and data differences. · dbdiff.dev, 2 Oct 2026
- Schema coverage
- It diffs tables, views, materialized views, triggers, stored procedures and functions, enum types, composite types, domains, sequences, row-level-security policies and data. · dbdiff.dev, 1 Oct 2026
- Security support
- The security policy lists version 2.0.x as supported, version 1.0.x as unsupported, and requests vulnerability reports by email rather than public issues. · github.com, 1 Oct 2026
- Supabase
- The --supabase option selects the PostgreSQL driver and enables SSL automatically, while Supabase policies and row-level-security flags are diffed as first-class objects. · dbdiff.dev, 1 Oct 2026
- Supabase scope
- For Supabase, DBDiff reads the public schema and excludes objects in managed auth and storage schemas from the diff. · dbdiff.dev, 1 Oct 2026
- Support
- Users can open GitHub issues, and the site provides a contact route for commercial support enquiries. · dbdiff.dev, 2 Oct 2026
Where DBDiff stands on Freedom251
- Database Schema Comparison Tools#7 of 25