2015-09-26 66 views
0

對不起,這樣的菜鳥問題 - 新的git和紅寶石的軌道上。什麼時候應該在拉請求上運行遷移?

我在一個學校編碼團隊在rails中編寫應用程序。其中一個請求有一個新的數據庫,但遷移尚未運行(rake db:migrate)。

我們應該首先在分支上運行遷移,然後合併到主或合併到主,然後在主分支上執行rake db:migrate?

回答

0

這是更好的做法是:

  1. 運行rake db:migrate
  2. 承諾回購

因爲db:migrate修改您的db/schema.rb文件,該文件顯示數據庫的 「當前」 的狀態。在您的回購中有最新版本的這個文件是非常重要的。

還要注意在db/schema.rb評論:

# It's strongly recommended to check this file into your version control system. 

以上因此,建議順序。

+0

真棒謝謝! –

1

如果你正在檢查某個人的工作(即它不是你的拉動請求,但他們說它已經準備就緒並且它是你的工作來合併它),那麼你應該檢查分支並測試遷移是否正常,因爲如果你將它合併爲主(並且推送它,以便每個人都可以獲得更新)並且遷移不正確,那麼由於主分支破碎,每個人都會感到沮喪。

這就是爲什麼我建議檢查分支,運行遷移,然後將PR合併到主服務器並將其推送到上游。


如果這是你拉的要求,你是確保一切正常(或者你獨自工作的項目),那麼就沒有特定的順序:只要確保你不要忘了所有的步驟(合併並遷移)。

當我自己做時,我通常已經應用了遷移(因爲我需要它們用於分支中的工作),所以通常只需要掌握併合並分支。

+0

非常感謝! –

0

您應該在合併到主服務器之前始終運行您的遷移,因爲您需要知道該代碼是否正常工作並且一切正常。請記住,運行遷移將更改您的db/schema.rb文件,如果有錯誤,服務器將無法正常啓動或出現故障。

至於在提交分支之前是否運行遷移,取決於你在做什麼。如果你是團隊編碼,需要先審查工作,繼續並提交,以便其他人可以檢查分支和審查。

+0

真棒謝謝! –

0

爲什麼有人會在尚未運行新遷移的分支上打開請求?拉請求的作者如何知道遷移寫入正確?

如果我正在審查拉請求,我希望在將分支合併到主服務器之前運行遷移。此外,請確保您的schema.rb正在使用遷移簽入。

+0

是的,這是我們團隊爭奪的一點。這樣做的人認爲最好運行rake db:在master分支上遷移以確保不會有db錯誤。由於你陳述的原因,這對我沒有意義。 –

相關問題