2013-07-31 30 views
0

我想每個人都有這個問題。當你的同事創建一個遷移,你忘記運行它後git拉。據我所知,這可以通過post-checkout git hook完成。有沒有現成的解決方案?如何在git pull之後通知未決的Rails遷移?

如果沒有,建議如何進行此項檢查。簡單的解決方案是在git鉤子中運行rake db:abort_if_pending_migrations,但速度太慢。

回答

4

我已經完成了gist with ruby code的檢查。在合併後和結賬後執行它很有用。

主要想法是將當前頭部與先前頭部狀態(HEAD @ {1},這是git pull之前的狀態)相比較,然後搜索db/migrate文件夾中是否有任何更改。

感謝沙德韋爾尋找幾乎工作的解決方案,我分叉。

1

我發現this post有一個紅寶石腳本和步驟來讓它運行。它看起來像它會做你想做的,並且可以選擇運行遷移。它通過檢查db/migrate文件夾中的更改來完成。它將它作爲合併後掛鉤。

+0

感謝您的發現!但不幸的是,它不支持ruby 1.9,如果它在之前提交之前提交,實際上不檢測遷移。我要解決它。 – icem

+0

啊,好的,好的。它讓你朝正確的方向邁進了一步,如果不是全部的話:) – Shadwell

相關問題