Skip to content
SPECIFICTION
Get listed

db-migrate vs Evolve

db-migrate

github.com

Evolve

github.com

Side by side

Figuredb-migrateEvolve
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Windows—Yes
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Database Migration Tools8.5 (#5)7.8 (#14)
Migration trackingThe documentation says db-migrate creates a migrations table to track which migrations have been applied.Evolve stores migration names and checksums in a metadata table and checks it each time Evolve runs.
Purposedb-migrate describes itself as a database migration framework for Node.js.Evolve is a cross-platform database migration tool inspired by Flyway that uses plain SQL scripts.
SupportThe repository invites users to seek project support through backer and sponsor contributions.The maintainer says the project is personal, free-time, and unfunded, and invites users and companies to support it through GitHub Sponsors; company donations are mentioned as a way to receive priority support.
Supported databasesThe documentation lists MySQL, PostgreSQL, sqlite3, MongoDB, and CockroachDB as supported databases.The documentation lists PostgreSQL, SQL Server, SQLite, MySQL, MariaDB, Cassandra, and CockroachDB.

Plans

db-migrate

  • db-migrateFree

db-migrate pricing →

Evolve

  • EvolveFree

Evolve 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

Evolve

Evolve is a free, open-source database migration tool that applies plain SQL scripts to synchronize changes across environments and development teams, including continuous integration and delivery. It is available as a .NET library, .NET tool, or standalone CLI. Listed databases include PostgreSQL, SQL Server, SQLite, MySQL, MariaDB, Cassandra, and CockroachDB. Versioned migrations run once; repeatable migrations run again when their contents change. Evolve records migration names and checksums in a metadata table and checks them whenever it runs. Commands are migrate, erase, repair, and info. Each migration normally uses its own transaction, while TransactionMode can group scripts for commit or rollback. Cluster mode uses a session-level lock to coordinate nodes. The standalone CLI supports x64 Windows and Linux without external dependencies. The library requires .NET 4.7.2+ or .NET Standard 2.0/.NET 5.0; the tool requires .NET Core SDK 3.0 or later.

Visit github.com