如何修改capistrano部署以在Rails 3.0中自动运行迁移

Ama*_*r S 23 deployment capistrano ruby-on-rails ruby-on-rails-3

现在,我必须运行cap deploy和cap deploy:如果要运行迁移,则迁移.

我如何修改cap deploy任务以运行迁移.

nic*_*rim 44

只需添加:

after "deploy:update_code", "deploy:migrate"
Run Code Online (Sandbox Code Playgroud)

到你的config/deploy.rb.


Ste*_*Loo 10

运行"cap deploy:migrations"等同于在一个命令中运行"cap deploy"&& "cap deploy:migrate".

要查看deploy:migrations的说明,只需使用-e选项:

cap -e deploy:migrations
Run Code Online (Sandbox Code Playgroud)

会给你这个输出:

cap deploy:migrations
Run Code Online (Sandbox Code Playgroud)

部署并运行挂起的迁移.这将与"部署"任务类似,但在更新符号链接之前还将运行任何挂起的迁移(通过"deploy:migrate"任务).请注意,在这种情况下,更新不是原子的,并且不使用事务,因为不保证迁移是可逆的.