Skip to content
SPECIFICTION
Get listed

dbmate vs DbUp

dbmate

github.com

DbUp

dbup.github.io

Side by side

FiguredbmateDbUp
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYes—
Self-hostedYesYes
Plans published11
Spec score · Database Migration Tools8.6 (#3)7.6 (#18)
Database supportThe README lists MySQL, MariaDB, PostgreSQL, SQLite, and ClickHouse as supported databases.The project lists providers for SQL Server, MySQL, SQLite, PostgreSQL, Firebird, Oracle, and Amazon Redshift, among others.
PurposeDbmate is a database migration tool that keeps database schemas in sync across developers and production servers.DbUp is a .NET library that deploys database changes by tracking executed SQL scripts and running those needed to update a database.
SupportThe repository README links to a discussion of alternatives and a contribution guide, but the opened page does not specify a support service or response time.The project points users to a Google Groups discussion group for questions and its GitHub issues page for bug reports.
TransactionsMigrations run atomically inside a transaction, with per-migration transaction behavior configurable in migration files.It supports no transaction by default, a transaction per script, or one transaction, and cautions that not all changes can be rolled back.

Plans

dbmate

  • dbmateFree

dbmate pricing →

DbUp

  • DbUpFree

DbUp pricing →

In their own words

dbmate

dbmate is a free, open-source command-line tool for keeping database schemas in sync across developers and production servers. It works independently of application language and can be used with Go, Node.js, Python, Ruby, PHP, Rust, C++, and other languages or frameworks. Migrations are plain SQL in timestamp-versioned files. Commands create, apply, and roll back migrations, check status, dump or load a schema, and wait for a database server. The project lists MySQL, MariaDB, PostgreSQL, SQLite, and ClickHouse, and documents BigQuery connections and Spanner support for databases using the PostgreSQL dialect. Migrations run atomically in a transaction by default when the database supports transactions, though individual migration blocks can opt out. dbmate can maintain a schema.sql dump for source-control review and Git diffs; creating dumps relies on database client tools such as pg_dump, mysqldump, or sqlite3. It reads DATABASE_URL by default and can load environment variables from a .env file. Installation options include NPM, Homebrew, Scoop, a Linux binary, and Docker images. Go applications can use it as a library, and Go embed can package migrations into an application binary.

Visit github.com

DbUp

DbUp has no write-up on Specifiction yet; its figures are above.

Visit dbup.github.io