如何在git pull之后通知挂起的Rails迁移?

时间:2013-07-31 09:28:14

标签: ruby-on-rails git rails-migrations githooks

我认为每个人都有这个问题。当您的同事创建迁移但您忘记在 git pull 之后运行它。据我了解,这可以通过 post-checkout git hook来完成。有现成的解决方案吗?

如果没有,建议如何进行此项检查。简单的解决方案是在git hook中运行rake db:abort_if_pending_migrations,但速度太慢。

2 个答案:

答案 0 :(得分:4)

我已经完成了gist with ruby code检查。在合并后和结帐后挂钩执行它很有用。

主要思想是将当前头部与前一个头状态(HEAD @ {1},即git pull之前的状态)进行区分,并搜索db / migrate文件夹中是否有任何更改。

感谢Shadwell找到了我分叉的几乎可行的解决方案。

答案 1 :(得分:1)

我发现this post有一个ruby脚本,并且要遵循以使其运行的步骤。它看起来会像您想要的那样,并且可以选择性地运行迁移。它通过检查db / migrate文件夹中的更改来完成。它将它作为合并后挂钩。