我有rake任務來更新我的數據庫,任務是由外部鉤子觸發的。 (svn鉤子)。當我運行rake更新db時,是否必須停止rails服務器?
rake任務將插入新記錄並更新現有記錄的某些列。沒有數據庫模式更改。
我還應該提到這是在生產中。
- 當耙式任務運行時,是否必須停止服務器?
- 如果我停止服務器,當訪問者瀏覽網站時如何顯示「更新」消息?
- 耙機任務完成後是否必須重新啓動服務器?
我有rake任務來更新我的數據庫,任務是由外部鉤子觸發的。 (svn鉤子)。當我運行rake更新db時,是否必須停止rails服務器?
rake任務將插入新記錄並更新現有記錄的某些列。沒有數據庫模式更改。
我還應該提到這是在生產中。
當耙式任務正在運行時,是否必須停止服務器?
這取決於...如果遷移打破軌道站點(例如場或重命名錶中刪除),那麼它可能會更好地展示某種「我們正在更新網站的早期版本,請進來在兩分鐘內返回「頁面或者只是關閉rails服務器。
問問你自己,你以前的代碼版本是否可以與新的數據庫模式一起工作?如果是,那麼你不必停止服務器或顯示「我們正在更新」頁面。如果不是,那麼您應該考慮在遷移期間停止服務器。
耙機任務完成後是否必須重新啓動服務器?
不,如果您只是添加/刪除/更改數據庫表中的某些記錄。 是的,如果你正在改變數據庫模式。
關於重定向,如果你決定不重新啓動服務器,遷移\播種花費很長的時間,那麼就改變
// config/routes.rb
root :to => 'controller#action'
一些新的控制器,將顯示相應的消息(改變它將立即生效,無需重啓)
在開發或生產? – Mischa
@Mischa在生產中。 –