Skip to content
This repository has been archived by the owner on May 24, 2022. It is now read-only.

bencevans/grunt-sequelize

Repository files navigation

grunt-sequelize

Build Coverage Status

Dependency Status devDependency Status

Sequelize migrations from Grunt

Getting Started

This plugin requires Grunt ~0.4.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-sequelize --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-sequelize');

The "sequelize" task

Overview

In your project's Gruntfile, add a section named sequelize to the data object passed into grunt.initConfig().

grunt.initConfig({
  sequelize: {
    options: {
      migrationsPath: 'db/migrations',
      config: 'db/config.json'
    }
  }
})

Options

options.migrationsPath

Type: String

A string value that is used to location your migration files.

options.config

Type: String

A string value that is used to locate your Sequelize connection parameters and credentials. Can be static JSON or JavaScript.

Example of config.json
{
  "development": {
    "username": "user",
    "password": "pwd",
    "database": "my_cool_db"
  }
}
Dynamic configuration

If options.string specifies a JavaScript file, that file should export a function that returns a configuration object.

Running tasks

Both the migrate and undo tasks have been ported from Sequelize's original CLI.

Migrate

You can run the migrations up to the top migration by running:

$ grunt sequelize:migrate

or

$ grunt sequelize:migrate:up

Undo

In order to migrate down the latest migration, use:

$ grunt sequelize:migrate:undo

Redo

Also you can redo latest migration by running:

$ grunt sequelize:migrate:redo

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Validate and test your code by running

$ npm run lint

Release History

Version Description
4.1.0 Support dynamic configuration
4.0.0 Original version