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"
  }
}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.
