Gem Version

Migrate guard allows you to keep you migrations up to date while developing without needing to rerun them every time. I developed it because when I am first working out a project, the schema can change several times and this saves me several downs/ups/resets.

  • This should be compatible with 2.x rails, but has only currently been tested on 3.x rails.


*** NOTE: this version is for rails > 4.1.0, for rails < 4.1.0, please use version 1.0.x ***

Please be sure to have Guard installed before continue.

Install the gem:

gem install guard-migrate

Add it to your Gemfile (inside test group):

gem 'guard-migrate'

Add guard definition to your Guardfile by running this command:

guard init migrate


Available options:

  • :cmd - this will specify a custom command to run, you can use it to speed up migrations if you use `zeus`, `spring` or simillar in your project. Defaults to `rake`

  • :bundler - this will prefix the command with `bundle exec` if a Gemfile is present. Defaults to `true`

  • :run_on_start - this will run the migration task when you start, reload or run all. Defaults to false. If reset is set to true with this, then it will run a reset on the start, reload, run all instead of just a regular migrate

  • :test_prepare - this will run the with the additional `db:test:prepare` to update the test database. Defaults to false.

  • :reset - this will run `rake db:migrate:reset` every time migrate is run. Defaults to false.

  • :rails_env - passing this will add “RAILS_ENV=” together with the environment.

  • :seed - setting this option to true will run seed after migrations. This will also run after test:prepare if that is set to run. Defaults to false.


  • move the customized code to a separate class/module.

Contributing to guard-migrate

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet

  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it

  • Fork the project

  • Start a feature/bugfix branch

  • Commit and push until you are happy with your contribution

  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.

  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.


Geoff Lanotte

Copyright © 2013 Geoff Lanotte. See LICENSE.txt for further details.