DBDiff vs dbdiff
DBDiff
dbdiff.devdbdiff
rekurt.github.ioSide by side
| Figure | DBDiff | 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.8 (#8) | 7.7 (#10) |
| Database support | It supports MySQL, PostgreSQL, and SQLite through its CLI drivers. | It supports MySQL, PostgreSQL and SQLite; other versions may work but are not actively tested. |
| License | DBDiff is distributed under the MIT license. | The project page identifies the license as MIT. |
| Limitations | For Supabase, DBDiff reads the public schema; objects in managed schemas such as auth and storage are outside the diff. | The site documents PostgreSQL enum label removals or reordering as a case where dependent objects may prevent an automatically generated migration from applying. |
| Migration integrations | DBDiff supports Flyway, Liquibase, Laravel Migrations and other compatible migration tools. | It supports output formats for Flyway, Liquibase, and Laravel Migrations, as well as native SQL and templates. |
| Migration runner | The built-in migration runner provides new, up, down, status, validate, repair and baseline commands. | Built-in commands apply, roll back, check, validate, repair and baseline migrations. |
| Operating systems | Pre-built binaries are listed for Windows, macOS, and Linux, with x64 and arm64 variants. | Prebuilt binaries are listed for Windows, macOS and Linux. |
| Performance | Schema diffing uses a constant number of round-trips regardless of table count and has been tested on databases with millions of rows. | The site says it has been tested on databases with millions of rows and that schema diffs use a constant number of round-trips regardless of table count. |
| Purpose | DBDiff compares two local or remote databases and generates migration files from their schema and data differences. | DBDiff compares local or remote databases and generates a migration file for their differences. |
| 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. | The Supabase option selects the PostgreSQL driver and enables SSL; DBDiff reads the public schema, while Supabase-managed schemas are outside the diff. |
| Support | Users can open GitHub issues, and the site provides a contact route for commercial support enquiries. | The project directs users to GitHub issues and offers a contact route for commercial support enquiries. |
In their own words
DBDiff
DBDiff compares local or remote databases and creates migration files from their differences. Its drivers support MySQL, PostgreSQL and SQLite, and its schema and data diffing covers tables, views, materialized views, triggers, routines, types, domains, sequences and row-level-security policies. YAML settings and command-line options can include or exclude tables, omit columns, filter rows, and set schema or data scope by table. Migration output includes up and down SQL in native SQL, Flyway, Liquibase XML or YAML, Laravel Migrations and custom templates. A built-in runner offers commands to create, apply, roll back, inspect, validate, repair and baseline migrations. A Supabase option selects PostgreSQL and enables SSL, but limits that diff to the public schema, leaving managed auth and storage schemas out. Pre-built binaries are available for Windows, macOS and Linux without PHP, Node or Composer; PHAR and Composer installs need PHP 8.1 or newer. DBDiff is free, open source under the MIT license.
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.