db-migrate
github.com
What it is
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.
Spec sheet
- Purpose
- db-migrate describes itself as a database migration framework for Node.js.Read 11 Oct 2026 · github.com
- Security
- The repository page displays a Security and quality section with 0 findings.Read 4 Oct 2026 · github.com
- Support
- The repository invites users to seek project support through backer and sponsor contributions.Read 11 Oct 2026 · github.com
- License
- The project is distributed under the MIT License.Read 11 Oct 2026 · github.com
- Additional database
- The documentation also lists CockroachDB as an officially supported database.Read 11 Oct 2026 · db-migrate.readthedocs.io
- Compatibility
- The README says db-migrate 0.11 and older are end of life, while v1 migrations continue to work unchanged.Read 11 Oct 2026 · github.com
- Credentials
- The configuration documentation supports environment-variable references for values such as database usernames and passwords.Read 4 Oct 2026 · db-migrate.readthedocs.io
- Databases
- The project lists MySQL, PostgreSQL, sqlite3, and MongoDB as officially supported databases.Read 11 Oct 2026 · github.com
- Documentation
- The repository links to the project's full documentation and usage examples on Read the Docs.Read 11 Oct 2026 · github.com
- Environments
- Environment settings can be loaded from database.json, with CLI options to choose an environment and config file.Read 4 Oct 2026 · db-migrate.readthedocs.io
- Install
- The project documents global installation with npm install -g db-migrate and local installation with npm install db-migrate.Read 11 Oct 2026 · github.com
- Installation
- The project documents global installation with npm install -g db-migrate and local installation with npm install db-migrate.Read 4 Oct 2026 · github.com
- Migration commands
- The command-line interface supports up, down, reset, create, and db commands.Read 4 Oct 2026 · db-migrate.readthedocs.io
- Migration styles
- Migration files can use callback-based or promise-based interfaces.Read 4 Oct 2026 · db-migrate.readthedocs.io
- Migration tracking
- The documentation says db-migrate creates a migrations table to track which migrations have been applied.Read 4 Oct 2026 · db-migrate.readthedocs.io
- Node support
- The project says Node.js 24 and newer are officially supported and older versions may work but are not tested.Read 11 Oct 2026 · github.com
- Runtime
- The package metadata specifies Node.js version >=8.0.0.Read 4 Oct 2026 · github.com
- Security terms
- The MIT license states that the software is provided as is without warranty.Read 11 Oct 2026 · github.com
- SQL files
- The --sql-file option generates separate SQL files for migration up and down statements.Read 4 Oct 2026 · db-migrate.readthedocs.io
- SSH
- The README says SSH tunneling is provided by a plugin that can be installed next to db-migrate.Read 11 Oct 2026 · github.com
- Supported databases
- The documentation lists MySQL, PostgreSQL, sqlite3, MongoDB, and CockroachDB as supported databases.Read 4 Oct 2026 · db-migrate.readthedocs.io
- Who it is for
- The project describes its software as a database migration framework for Node.js applications.Read 11 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Supports five listed database systems
- Includes rollback and reset commands
- Tracks applied migrations in a table
- Supports callback and promise interfaces
- Environment variables can hold credentials
Limits
- Database drivers are installed separately
- Older Node.js versions are not tested
- SSH tunneling requires a separate plugin
- MIT license provides no warranty
Who it suits
It suits Node.js application teams managing schema changes across supported databases. It is also intended for teams that want self-hosted, MIT-licensed migration tooling.
Verdict
db-migrate covers core migration workflows with several database choices, tracking, rollback, and configurable environments. Its separate drivers and Node.js support distinctions should be checked before deployment.
Where Specifiction places it
- Database Migration Tools#5 of 328.5