Skip to content
SPECIFICTION
Get listed

DBDiff vs dbdiff

DBDiff

dbdiff.dev

dbdiff

rekurt.github.io

Side by side

FigureDBDiffdbdiff
Price from——
Free plan——
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hosted—Yes
Plans published00
Spec score · Database Schema Comparison Tools7.8 (#8)7.7 (#10)
Database supportIt supports MySQL, PostgreSQL, and SQLite through its CLI drivers.It supports MySQL, PostgreSQL and SQLite; other versions may work but are not actively tested.
LicenseDBDiff is distributed under the MIT license.The project page identifies the license as MIT.
LimitationsFor 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 integrationsDBDiff 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 runnerThe 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 systemsPre-built binaries are listed for Windows, macOS, and Linux, with x64 and arm64 variants.Prebuilt binaries are listed for Windows, macOS and Linux.
PerformanceSchema 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.
PurposeDBDiff 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.
SupabaseThe --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.
SupportUsers 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.

Visit dbdiff.dev

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.

Visit rekurt.github.io