auto-migrations

1.0.8 • Public • Published

auto-migrations

Migration generator && runner for sequelize

The project fork from https://github.com/flexxnn/sequelize-auto-migrations, it has a lot of changes in usage. Thank flexxnn very much.

Only use for desirecore. (Coming soon)

The project in developing.

This package provide two tools:

  • makemigration - tool for create new migrations
  • runmigration - tool for apply created by first tool migrations

Install

npm install --save auto-migrations or yarn add auto-migrations

Usage

  • Init sequelize, with sequelize-cli, using sequelize init
  • Create your models
  • Create initial migration - run:

node ./node_modules/sequelize-auto-migrations/bin/makemigration --name <migration name>

  • Change models and run it again, model difference will be saved to the next migration

To preview new migration, without any changes, you can run:

node ./node_modules/auto-migrations/bin/makemigration --preview

makemigration tool creates _current.json file in migrations dir, that is used to calculate difference to the next migration. Do not remove it!

To create and then execute migration, use: makemigration --name <name> -x

Executing migrations

  • There is simple command to perform all created migrations (from selected revision):

node ./node_modules/sequelize-auto-migrations/bin/runmigration

  • To select a revision, use --rev <x>
  • If migration fails, you can continue, use --pos <x>
  • To prevent execution next migrations, use --one

For more information, use makemigration --help, runmigration --help

TODO:

  • Migration action sorting procedure need some fixes. When many foreign keys in tables, there is a bug with action order. Now, please check it manually (--preview option)
  • Need to check (and maybe fix) field types: BLOB, RANGE, ARRAY, GEOMETRY, GEOGRAPHY
  • Downgrade is not supported, add it
  • This module tested with postgresql (I use it with my projects). Test with mysql and sqlite.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.80latest

Version History

VersionDownloads (Last 7 Days)Published
1.0.80
1.0.70
1.0.60
1.0.50
1.0.40
1.0.30
1.0.20
1.0.10
1.0.00

Package Sidebar

Install

npm i auto-migrations

Weekly Downloads

0

Version

1.0.8

License

MIT

Unpacked Size

38.1 kB

Total Files

8

Last publish

Collaborators

  • yige