Skip to content
SPECIFICTION
Get listed

db-migrate vs dbmate

db-migrate

github.com

dbmate

github.com

Side by side

Figuredb-migratedbmate
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Windows—Yes
macOS—Yes
LinuxYesYes
Self-hostedYesYes
Plans published11
Spec score · Database Migration Tools8.5 (#5)8.6 (#3)
DatabasesThe project lists MySQL, PostgreSQL, sqlite3, and MongoDB as officially supported databases.The README lists MySQL, MariaDB, PostgreSQL, SQLite, and ClickHouse as supported databases.
LicenseThe project is distributed under the MIT License.The repository includes an MIT license.
Purposedb-migrate describes itself as a database migration framework for Node.js.Dbmate is a database migration tool that keeps database schemas in sync across developers and production servers.
SupportThe repository invites users to seek project support through backer and sponsor contributions.The 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.

Plans

db-migrate

  • db-migrateFree

db-migrate pricing →

dbmate

  • dbmateFree

dbmate pricing →

In their own words

db-migrate

db-migrate is a free, open-source database migration framework for Node.js applications. It runs on Linux and can be self-hosted. The command-line interface provides up, down, reset, create, and db commands for applying, rolling back, resetting, creating, and managing migrations. Supported databases listed by the project include MySQL, PostgreSQL, sqlite3, MongoDB, and CockroachDB, with database drivers installed separately. Migration files support callback-based or promise-based interfaces, while the --sql-file option creates separate SQL files for migration-up and migration-down statements. Applied migrations are recorded in a migrations table. Environment settings can come from database.json, with command-line choices for the environment and configuration file. Database usernames and passwords can reference environment variables. Global and local npm installation are documented. Node.js 24 and newer are officially supported; package metadata specifies version 8.0.0 or later. Rollback is supported, and the format is mixed.

Visit github.com

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