0

誰もがその問題を抱えていたと思います。同僚が移行を作成し、 git pullの後にそれを実行するのを忘れた場合。私が理解しているように、これはチェックアウト後のgit hookによって実行できます。準備ができている解決策はありますか?

そうでない場合は、このチェックを行う方法を提案してください。簡単な解決策は、git フックで rake db:abort_if_pending_migrations を実行することですが、遅すぎます。

4

2 に答える 2

4

そのチェックを行うルビーコードで要点を書きました。マージ後およびチェックアウト後のフックで実行すると便利です。

主なアイデアは、現在のヘッドを以前のヘッドの状態 (HEAD@{1} 、git pull の前の状態) と比較し、db/migrate フォルダーに変更があったかどうかを検索することです。

私がフォークしたほぼ実用的なソリューションを見つけてくれたShadwellに感謝します。

于 2013-08-06T10:37:43.453 に答える
1

Ruby スクリプトとそれを実行するための手順が記載されたこの投稿を見つけました。それはあなたが望むことをするように見え、オプションで移行も実行します。これは、db/migrate フォルダー内の変更をチェックすることによって行われます。マージ後のフックとしてそれを行います。

于 2013-07-31T10:16:32.757 に答える