db-migrate vs SchemaHero
db-migrate
github.comSchemaHero
schemahero.ioSide by side
| Figure | db-migrate | SchemaHero |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Database Migration Tools | 8.5 (#5) | 7.4 (#24) |
| Installation | The project documents global installation with npm install -g db-migrate and local installation with npm install db-migrate. | SchemaHero is distributed as a single binary for macOS, Linux and Windows, and is also available as a Docker image. |
| License | The project is distributed under the MIT License. | The GitHub repository is licensed under Apache-2.0. |
| Purpose | db-migrate describes itself as a database migration framework for Node.js. | SchemaHero is an open-source database schema migration tool that converts schema definitions into migration scripts. |
| Support | The repository invites users to seek project support through backer and sponsor contributions. | The project directs users to a Replicated Community forum and the #schemahero channel in Kubernetes Slack. |
| Supported databases | The documentation lists MySQL, PostgreSQL, sqlite3, MongoDB, and CockroachDB as supported databases. | Supported database engines are PostgreSQL, MySQL, CockroachDB, TimescaleDB, Cassandra, SQLite, and RQLite. |
Plans
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.
SchemaHero
SchemaHero has no write-up on Specifiction yet; its figures are above.