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 is a free, open-source tool for comparing local or remote MySQL, PostgreSQL, and SQLite databases and generating migration files from the differences. It can compare schemas and data, with migrations that include both up and down changes. Its runner has commands to create, apply, roll back, check, validate, repair, and baseline migrations. Comparison targets include tables, views, triggers, routines, types, sequences, row-level security policies, and data. Output formats include native SQL, Flyway, Liquibase, Laravel Migrations, and custom templates. A configuration file can set database connections, drivers, comparison scope, included or ignored tables and fields, and row filters. Installation options include pre-built Windows, macOS, and Linux binaries, npm packages, a PHAR, Docker or Podman images, and Composer source installation. By default, migration generation stops when a change would drop a table or column; an option allows those changes. One documented PostgreSQL limitation is that removing or reordering enum labels can leave dependent objects that prevent an automatically generated migration from applying. The project uses the MIT license.

For and against

For

  • Compares both database schemas and data.
  • Migration runner includes rollback, validation, and repair commands.
  • Supports native SQL and several migration formats.
  • Pre-built binaries are listed for Windows, macOS, and Linux.

Against

  • PostgreSQL enum label changes can block generated migrations.
  • Generation stops by default for table or column drops.
  • Other database versions may work but are not actively tested.

The verdict

DBDiff combines multi-engine database comparison with migration generation and management commands. Check its documented PostgreSQL enum limitation and default behavior for destructive changes before relying on generated migrations.

Who it suits

DBDiff suits developers and database teams who need to compare MySQL, PostgreSQL, or SQLite databases and generate migration files. It also fits workflows that use Flyway, Liquibase, Laravel, or custom migration templates.

On the record

Additional compatible databases
The site says compatible variants include MariaDB, Aurora, PlanetScale, Neon, CockroachDB, YugabyteDB, TimescaleDB, and pgvector, with most not tested by the core team unless noted.dbdiff.dev · read 2 Oct 2026
Configuration
A dbdiff.yml configuration file can set database connections, drivers, diff scope, included or ignored tables and fields, and row filters.dbdiff.dev · read 2 Oct 2026
Database compatibility
The site lists support for MySQL 8.0.x, 8.4.x, and 9.3.x/9.6.x, PostgreSQL 14.x–16.x, and SQLite 3.x.dbdiff.dev · read 2 Oct 2026
Database objects
Its listed diff targets include tables, views, triggers, routines, types, sequences, row-level security policies, and data.dbdiff.dev · read 2 Oct 2026
Database support
It supports MySQL, PostgreSQL and SQLite; other versions may work but are not actively tested.dbdiff.dev · read 3 Oct 2026
Deployment
Multi-architecture Docker and Podman images are published to GHCR on each release.dbdiff.dev · read 3 Oct 2026
Destructive changes
By default, generation stops for migrations that drop a table or column; the page documents an option to allow those changes.dbdiff.dev · read 3 Oct 2026
Distribution
The site offers pre-built binaries, npm packages, a PHAR, Docker/Podman images, and Composer source installation.dbdiff.dev · read 2 Oct 2026
Install options
The site lists prebuilt binaries, npm, PHAR, Docker or Podman, and Composer source installation.dbdiff.dev · read 3 Oct 2026
License
The project page identifies the license as MIT.dbdiff.dev · read 3 Oct 2026
Limitations
The site documents PostgreSQL enum label removals or reordering as a case where dependent objects may prevent an automatically generated migration from applying.dbdiff.dev · read 2 Oct 2026
Migration formats
It supports native SQL, Flyway, Liquibase XML and YAML, Laravel, and custom templates.dbdiff.dev · read 3 Oct 2026
Migration integrations
It supports output formats for Flyway, Liquibase, and Laravel Migrations, as well as native SQL and templates.dbdiff.dev · read 2 Oct 2026
Migration runner
Built-in commands apply, roll back, check, validate, repair and baseline migrations.dbdiff.dev · read 3 Oct 2026
Operating systems
Prebuilt binaries are listed for Windows, macOS and Linux.dbdiff.dev · read 3 Oct 2026
Performance
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.dbdiff.dev · read 3 Oct 2026
Purpose
DBDiff compares local or remote databases and generates a migration file for their differences.dbdiff.dev · read 3 Oct 2026
Schema and data diffs
It can diff database objects including tables, views, triggers, routines, types, sequences, row level security policies and data.dbdiff.dev · read 3 Oct 2026

Alternatives to dbdiff

Every alternative, ranked