Skip to content
This repository was 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

About

Grunt plugin providing Sequelize's CLI functionality.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published