Extendable database agnostic migration command line tool and mini-framework for node.js. Inspired by the Rails migrate tool and node-migrate.
Simple database migration tool inspired by migrate and the rails migration tool.
$ npm install milkshake
(To install globally use
npm install -g milkshake)
To initialize a new migration folder:
$ milkshake init
This will create an empty folder in your current working directory named
and include a setup.js file by default. (Hint: Look in lib/default-setup.js to see
the methods you can override in your own setup file, eg. for inserting active
migrations or removing from your own database).
Create a new migration file:
$ milkshake new "Create table users"
This will generate a new empty migration file named
You can list the migrations that will be run (changes not yet reflected in your database) by using the command:
$ milkshake list
To run the migration:
$ milkshake migrate
To run a downwards migration (downgrades, undos, whatever you'd call them):
$ milkshake migrate:down
And then you can run a single upwards migration (also applies to downwards migrations) by appending a number after the command:
$ milkshake migrate:up 2
To see the full command line options:
$ milkshake --help
Usage: milkshake [options] commandOptions:-c, --chdir <path> Change the working directory to a given migrationdirectory. eg. /home/billybob/myapp/migrationsIf no path is given, it defaults to ./migrations-h, --help Show this help screen-v, --version Displays the current version-d, --dry, --dry-run Dry run of migrationsCommands:init Initialize an initial migration directory and helper filemigrate Migrate up to the latest migrationmigrate:up [n] Migrate up by n migrationsmigrate:down [n] Migrate down by n migrationslist List the migrations to be run
Pull requests welcome