5
我正在使用Capistrano部署Rails應用程序。我正考慮數據庫發生更改的情況,因此我不能簡單地使用cap deploy
,因爲在代碼更新之前需要運行遷移。我意識到有一個cap deploy:migrations
,但這比我想要的更自動一點。我想要:Capistrano部署但手動運行遷移
- 將新代碼推送到releases目錄,但不更新符號鏈接或重新啓動應用程序。
- ssh進入服務器,運行
rake:db_abort_if_pending_migrations
以確認我想運行的遷移是唯一未決的遷移,然後手動運行rake db:migrate
。 - 完成部署,更新符號鏈接並重新啓動應用程序。
是否有任何簡單的方法可以通過內置的Capistrano任務來完成此任務,還是我需要編寫自己的部署步驟來完成此任務?
我也應該提到,我正在考慮可以在實時數據庫上運行遷移的情況(如添加列)。對於更具破壞性的更改,我意識到我需要在部署過程中使用維護頁面關閉網站。
這應該這樣做,謝謝!在Capistrano的任務流程中是否有任何文檔(即「cap deploy」實際按什麼順序運行的子任務)? – jrdioko 2011-03-09 18:58:38