No description
Bumps [@changesets/cli](https://github.com/changesets/changesets) from 2.26.2 to 2.27.1. - [Release notes](https://github.com/changesets/changesets/releases) - [Changelog](https://github.com/changesets/changesets/blob/main/docs/modifying-changelog-format.md) - [Commits](https://github.com/changesets/changesets/compare/@changesets/cli@2.26.2...@changesets/cli@2.27.1) --- updated-dependencies: - dependency-name: "@changesets/cli" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|---|---|---|
| .changeset | ||
| .github | ||
| .husky | ||
| bin | ||
| packages | ||
| .editorconfig | ||
| .gitignore | ||
| .npmrc | ||
| .nvmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| commitlint.config.js | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| turbo.json | ||
Emigrate
The modern, modular and flexible migration tool for any database
It's effectively a successor of klei-migrate and Immigration.
Features
- Database agnostic
- Emigrate can migrate any database
- Works at any scale
- Supports any database as storage so multiple instances of the same app can share the same migration history
- Supports multiple projects/apps doing migrations on the same database without interfering with each other
- Uses smart locking to ensure only one instance migrates a certain migration at a time
- Thanks to the smart locking it's safe to run migrations in parallel
- Can be run inside containers
- It's common for Docker or Kubernetes to kill containers with health checks if migrations takes too long to run
- Emigrate makes sure the migration history does not get stuck in a locked state if that's the case
- Supports any file type for your migration files
- You can easily write migrations in JavaScript, TypeScript or plain SQL (or any other language)
- JavaScript migration files written using CommonJS or ES modules (ESM) are supported out of the box
- You can customize the template for your migration files to fit your needs (or use a plugin to do it for you)
- Easy to debug
- Emigrate will store any errors that occur during migration in the migration history so you can easily debug them
Installation
Install the Emigrate CLI in your project:
npm install --save-dev @emigrate/cli
Usage
Create a new migration:
emigrate new -d migrations -e .js create some fancy table
Will create a new empty JavaScript migration file with the name "YYYYMMDDHHmmssuuu_create_some_fancy_table.js" in the migrations directory.
License
Emigrate is licensed under the MIT license. See LICENSE for the full license text.