我想每個人都有這個問題。當你的同事創建一個遷移,你忘記運行它後git拉。據我所知,這可以通過post-checkout git hook完成。有沒有現成的解決方案?如何在git pull之後通知未決的Rails遷移?
如果沒有,建議如何進行此項檢查。簡單的解決方案是在git鉤子中運行rake db:abort_if_pending_migrations,但速度太慢。
我想每個人都有這個問題。當你的同事創建一個遷移,你忘記運行它後git拉。據我所知,這可以通過post-checkout git hook完成。有沒有現成的解決方案?如何在git pull之後通知未決的Rails遷移?
如果沒有,建議如何進行此項檢查。簡單的解決方案是在git鉤子中運行rake db:abort_if_pending_migrations,但速度太慢。
我已經完成了gist with ruby code的檢查。在合併後和結賬後執行它很有用。
主要想法是將當前頭部與先前頭部狀態(HEAD @ {1},這是git pull之前的狀態)相比較,然後搜索db/migrate文件夾中是否有任何更改。
感謝沙德韋爾尋找幾乎工作的解決方案,我分叉。
我發現this post有一個紅寶石腳本和步驟來讓它運行。它看起來像它會做你想做的,並且可以選擇運行遷移。它通過檢查db/migrate文件夾中的更改來完成。它將它作爲合併後掛鉤。
感謝您的發現!但不幸的是,它不支持ruby 1.9,如果它在之前提交之前提交,實際上不檢測遷移。我要解決它。 – icem
啊,好的,好的。它讓你朝正確的方向邁進了一步,如果不是全部的話:) – Shadwell