Amal Kumar S
Amal Kumar S

Reputation: 16075

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

Right now, I have to run cap deploy and cap deploy:migrations if there are migrations to be run.

how I modify the cap deploy task to run migrations.

Upvotes: 23

Views: 7812

Answers (2)

Steve Loo
Steve Loo

Reputation: 286

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.

Upvotes: 10

nickgrim
nickgrim

Reputation: 5437

Just add:

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

to your config/deploy.rb.

Upvotes: 43

Related Questions