Skip to content
SPECIFICTION
Get listed

db-migrate vs pgroll

db-migrate

github.com

pgroll

pgroll.com

Side by side

Figuredb-migratepgroll
Price fromFreeFree
Free planYesYes
Free trial——
Open source—Yes
Windows—Yes
macOS—Yes
LinuxYesYes
Self-hostedYesYes
Plans published12
Spec score · Database Migration Tools8.5 (#5)8.5 (#7)
DocumentationThe repository links to the project's full documentation and usage examples on Read the Docs.Documentation includes getting started material, tutorials, guides, examples and command references.
LicenseThe project is distributed under the MIT License.The repository is licensed under Apache License 2.0.
Purposedb-migrate describes itself as a database migration framework for Node.js.pgroll is an open-source command-line tool for safe, reversible PostgreSQL schema migrations that keep multiple schema versions available simultaneously.
SupportThe repository invites users to seek project support through backer and sponsor contributions.Users are directed to GitHub issues, GitHub discussions and Discord for assistance.

Plans

db-migrate

  • db-migrateFree

db-migrate pricing →

pgroll

  • Open sourceFree
  • Open-sourceFree

pgroll 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

pgroll

pgroll is an open-source command-line tool for PostgreSQL schema migrations that keeps old and new schema versions available while applications move between them. Its expand/contract workflow lets clients choose a version through PostgreSQL's search_path. The project describes migrations as zero-downtime and says it applies changes without locking the database; it can also backfill columns automatically when needed. For breaking changes, pgroll builds virtual schemas from views over physical tables and uses triggers to carry writes between old and new columns. Active migrations can be rolled back to the previous schema version. It supports PostgreSQL 14 and later, including RDS and Aurora, and is available for Linux, macOS, and Windows or self-hosting. It can convert SQL generated by ORMs, with examples for Alembic, Django, and Drizzle, though manual data migrations and SQL consolidation may be needed. On PostgreSQL 14, its versioned views do not respect row-level security policies, which can make it a poor choice for RLS users on that version. The project is licensed under Apache License 2.0.

Visit pgroll.com