A gruntplugin for klei-migrate
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-klei-migrate --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-klei-migrate');
In your project's Gruntfile, add a section named klei_migrate
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
klei_migrate: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific options go here.
},
},
})
Type: String
Default value: run
or target name (if valid command name)
The klei-migrate
command to run, valid commands are: run
, dry
and create
(see klei-migrate for more information)
Type: String
Default value: process.env.NODE_ENV or development
Sets the current environment name.
Can also be provided with --env
parameter on execution.
Type: Boolean
Default value: false
Specifies that the migration direction should be down
.
Can also be provided with --down
parameter on execution.
Type: Boolean
Default value: true
Specifies that the migration direction should be up
.
Can also be provided with --up
parameter on execution.
Type: String
Default value: NULL
If provided sets the template path for the template to use when creating new migrations.
Can also be provided with --template
parameter on execution.
Type: Number
Default value: 0
Limit the number of migrations to run.
Can also be provided with --limit
parameter on execution.
Type: Number
Default value: 30
Limit max execution time, for each migration, in seconds.
Can also be provided with --timeout
parameter on execution.
Type: String
Default value: NULL
Sets fromBranch argument for the sync
command.
Can also be provided with --fromBranch
parameter on execution.
Only used if no argument is provided.
Type: String
Default value: NULL
Sets fromRef argument for the post_checkout
command.
Can also be provided with --fromRef
parameter on execution.
Only used if no argument is provided.
Type: String
Default value: NULL
Sets toRef argument for the post_checkout
command.
Can also be provided with --toRef
parameter on execution.
Only used if no argument is provided.
With the following task configuration you can use the klei-migrate commands: run
, dry
and create
.
grunt.initConfig({
klei_migrate: {
run: "",
create: "",
dry: ""
},
})
To run all migrations:
$ grunt klei_migrate:run
# or
$ grunt klei_migrate:run --down # to migrate down
To create a new migration:
$ grunt klei_migrate:create
# or
$ grunt klei_migrate:create:"My new migration" # to name the migration "My new migration"
To show what can be migrated:
$ grunt klei_migrate:dry
# or
$ grunt klei_migrate:dry --down # to show what can be migrated down
This configuration:
grunt.initConfig({
klei_migrate: {
run: "",
create: {
options: {
template: '<your template dir>/<your migration template>'
}
},
dry: "",
next: {
options: {
command: 'run',
limit: 1
}
},
revert: {
options: {
command: 'run',
limit: 1,
down: true
}
}
},
})
Gives you two handy commands next
and revert
which migrates the next migration and reverts the previously run migration, respectively. Usage:
$ grunt klei_migrate:next
# and
$ grunt klei_migrate:revert