How to modify capistrano deploy to automatically run migrations in Rails 3.0 How to modify capistrano deploy to automatically run migrations in Rails 3.0 ruby-on-rails ruby-on-rails

How to modify capistrano deploy to automatically run migrations in Rails 3.0


Just add:

after "deploy:update_code", "deploy:migrate"

to your config/deploy.rb.


Running "cap deploy:migrations" is equivalent to running "cap deploy" && subsequently "cap deploy:migrate" in one command.

To view the description for deploy:migrations, just use the -e option:

cap -e deploy:migrations

will give you this output:

cap deploy:migrations

Deploy and run pending migrations. This will work similarly to the 'deploy' task, but will also run any pending migrations (via the 'deploy:migrate' task) prior to updating the symlink. Note that the update in this case it is not atomic, and transactions are not used, because migrations are not guaranteed to be reversible.