The Sequelize Command Line Interface (CLI)
Install this globally and you'll have access to the sequelize command anywhere on your system.
npm install -g sequelize-cli
or install it locally to your node_modules folder
npm install --save sequelize-cli$ sequelize [--HARMONY-FLAGS]
Sequelize [CLI: v0.0.4, ORM: v1.7.5]
Usage
  sequelize [task]
Available tasks
  db:migrate        Run pending migrations.
  db:migrate:undo   Revert the last migration run.
  help              Display this help text. Aliases: h
  init              Initializes the project.
  init:config       Initializes the configuration.
  init:migrations   Initializes the migrations.
  init:models       Initializes the models.
  migration:create  Generates a new migration file. Aliases: migration:generate
  version           Prints the version number. Aliases: v
Available manuals
  help:db:migrate        The documentation for 'sequelize db:migrate'.
  help:db:migrate:undo   The documentation for 'sequelize db:migrate:undo'.
  help:init              The documentation for 'sequelize init'.
  help:init:config       The documentation for 'sequelize init:config'.
  help:init:migrations   The documentation for 'sequelize init:migrations'.
  help:init:models       The documentation for 'sequelize init:models'.
  help:migration:create  The documentation for 'sequelize migration:create'.
  help:version           The documentation for 'sequelize version'.
$ node_modules/.bin/sequelize [--HARMONY-FLAGS]
The manuals will show all the flags and options which are available for the respective tasks.
If you find yourself in a situation where you always define certain flags in order to
make the CLI compliant to your project, you can move those definitions also into a file called
.sequelizerc. The file will get required if available and can therefore be either a JSON file
or a Node.JS script that exports a hash.
var path = require('path')
module.exports = {
  'config':          path.resolve('config', 'database.json'),
  'migrations-path': path.resolve('db', 'migrate')
}This will configure the CLI to always treat config/database.json as config file and
db/migrate as the directory for migrations.
The CLI is compatible with CoffeeScript. You can tell the CLI to enable that support via the --coffee
flag. Please note that you'll need to install js2coffee and coffee-script for full support.
By default the CLI will try to use the file config/config.json. You can modify that path either via
the --config flag or via the option mentioned earlier. Here is how a configuration file might look
like (that's is the one that sequelize init generates:
{
  "development": {
    "username": "root",
    "password": null,
    "database": "database_development",
    "host": "127.0.0.1",
    "dialect": "mysql"
  },
  "test": {
    "username": "root",
    "password": null,
    "database": "database_test",
    "host": "127.0.0.1",
    "dialect": "mysql"
  },
  "production": {
    "username": "root",
    "password": null,
    "database": "database_production",
    "host": "127.0.0.1",
    "dialect": "mysql"
  }
}By default the CLI will create a table in your database called SequelizeMeta containing an entry
for each executed migration.  Using migrationStorage in the configuration file you can have the
CLI create a JSON file which will contain an array with all the executed migrations.  You can
specify the path of the file using migrationStoragePath or the CLI will write to the file
sequelize-meta.json.
{
  "development": {
    "username": "root",
    "password": null,
    "database": "database_development",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "migrationStorage": "json",
    "migrationStoragePath": "sequelize-meta.json"
  }
}Since v1.0.0 the CLI supports a new schema for saving the executed migrations. It will tell you about that when you run a migration while having the old schema. You can opt-in for auto migrating the schema by adding a special property to your config file:
{
  "development": {
    "autoMigrateOldSchema": true
  }
}Read the manuals via sequelize help:<task-name> for further information.
