Freedom251 › Database Migration Tools
Umzug

What Umzug is
Umzug is a free, framework-agnostic migration tool for Node.js that applies and rolls back tasks. Its API can show pending or executed migrations, then apply or revert them; the built-in CLI can also list, create, apply, and reverse migrations. Migration files may be written in JavaScript or TypeScript, while custom resolvers can accommodate formats such as SQL. Migration history can be kept in JSON, memory, Sequelize, MongoDB, or a custom storage implementation. Umzug is not tied to Sequelize, although it supports Sequelize and MongoDB storage. Written in TypeScript, it includes built-in typings and IDE autocomplete. Type-safe events can run before and after migration or command operations, and the FileLocker class offers a simple filesystem-based locking mechanism through those events. Failed migrations are rethrown as MigrationError objects containing migration metadata and the original error. By default, file-based migrations sort lexicographically by path, so migration names should reflect the intended run order. The README says it has been tested with Sequelize v6, but may or may not work with lower versions. Its v3 CLI is described as new, with feedback invited through GitHub Discussions. The repository identifies the license as MIT.
Who it suits
Umzug suits Node.js developers who need to run and roll back migrations without coupling their project to Sequelize. It may also fit teams that want migration history in different storage systems or formats.
What it does well
- Applies and rolls back migration tasks
- Supports JavaScript and TypeScript migration files
- Offers JSON, memory, Sequelize, and MongoDB storage
- Includes a built-in CLI and TypeScript typings
- Free, MIT-licensed library
What to know first
- Compatibility with Sequelize versions below v6 is uncertain
- The v3 CLI is described as new
- File migrations sort by path by default
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Umzug | MIT-licensed Node.js migration library | Free |
As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.
Verdict
Umzug provides migration execution, rollback, CLI commands, and several storage choices in a free Node.js library. Check the version-compatibility note and migration naming order when evaluating it.
Facts from Umzug's own pages
- CLI
- The built-in CLI can apply, revert, list, and create migrations. · github.com, 9 Oct 2026
- CLI maturity
- The README describes the v3 CLI as new and invites feedback through GitHub Discussions. · github.com, 9 Oct 2026
- Database integration
- Umzug is not coupled to Sequelize, though it supports Sequelize storage and MongoDB storage. · github.com, 9 Oct 2026
- Error handling
- Migration failures are rethrown as MigrationError objects containing migration metadata and the original error. · github.com, 9 Oct 2026
- Events
- Type-safe events are available before and after migration and command operations. · github.com, 9 Oct 2026
- Execution
- Its API can list pending or executed migrations and apply or revert migrations. · github.com, 9 Oct 2026
- File locking
- The FileLocker class provides a simple filesystem-based locking mechanism using beforeAll and afterAll events. · github.com, 9 Oct 2026
- Language support
- It is written in TypeScript and includes built-in typings and IDE autocomplete. · github.com, 9 Oct 2026
- License
- The public repository identifies the project license as MIT. · github.com, 9 Oct 2026
- Migration formats
- Migration files can use JavaScript or TypeScript, and custom resolvers can support other formats such as SQL. · github.com, 9 Oct 2026
- Ordering
- File-based migrations are sorted lexicographically by path by default, and the documentation recommends names that sort in the intended run order. · github.com, 9 Oct 2026
- Purpose
- Umzug is a framework-agnostic migration tool for Node.js that runs and rolls back tasks. · github.com, 9 Oct 2026
- Storage options
- Migration history can be stored in JSON, memory, Sequelize, MongoDB, or a custom storage implementation. · github.com, 9 Oct 2026
- Version compatibility
- The README says the library has been tested with Sequelize v6 and may or may not work with lower versions. · github.com, 9 Oct 2026
Where Umzug stands on Freedom251
- Database Migration Tools#27 of 32