What's Emigrate?
Emigrate is written in TypeScript and is a migration tool for any database or data.
- It’s database agnostic - you can use it with any database, or even with non-database data.
- It can be run on multiple platforms - currently NodeJS, Bun and Deno is supported, but more platforms is planned.
- It’s the successor of klei-migrate and is designed to be compatible with Immigration and many of its storage plugins, as well as Migrate.
- It supports migration files written using CommonJS or ES Modules out of the box, with any of the following extensions:
.js
,.cjs
or.mjs
, and supports async functions, Promises or using the NodeJS Callback Pattern. - Other languages can be used by using a Loader Plugin.
- The migration history can be stored anywhere using a Storage Plugin.
- The output can be customized using Reporters.