分支每当我切换我有运行命令分支:自动运行rake任务,当你切换的混帐
rake db:drop
rake db:migrate
rake db:setup
是否有办法来自动运行在终端这些命令我的应用程序?我正在Rails应用程序上开发一个Ruby,并且在GitHub上有许多分支。是否有一个我可以添加到的文件将自动运行此命令?
例如,我会做这个“git checkout branch101” 然后我想运行上面的3个命令。
分支每当我切换我有运行命令分支:自动运行rake任务,当你切换的混帐
rake db:drop
rake db:migrate
rake db:setup
是否有办法来自动运行在终端这些命令我的应用程序?我正在Rails应用程序上开发一个Ruby,并且在GitHub上有许多分支。是否有一个我可以添加到的文件将自动运行此命令?
例如,我会做这个“git checkout branch101” 然后我想运行上面的3个命令。
将此shell脚本保存到文件/path/to/repo/.git/hooks/post-checkout
,并使其可执行。
#! /bin/sh
# Start from the repository root.
cd ./$(git rev-parse --show-cdup)
# drop migrate and set up.
rake db:drop
rake db:migrate
rake db:setup
你要找什么是一样的东西Guard运行测试套件,只要在你的回购代码更改。你应该能够调整Guard来运行你的Rake任务而不是测试。 Railscasts有一个很好的解释卫队的screencast。
快速谷歌搜索后,看起来像有一个可用于运行耙子任务的宝石:guard-rake。不幸的是,它似乎并没有被广泛使用。
为什么你想在切换每个分支后运行这些命令?对我来说这似乎很不寻常。 – Pavan
当前在我的团队中,我们在不同模式/迁移的分支上运行,所以它不断需要切换分支变得细微差异。 – Jay266
为什么要删除,迁移,设置? 'rake db:reset'会执行'db:drop',然后是'db:setup',然后执行'db:create','db:schema:load','db:seed'。所以它似乎根据您的要求'rake db:reset'将是唯一需要的命令,因此可能不需要自动化任务。除非系统迁移没有运行到模式中,在这种情况下,您可能也需要运行它们。 – engineersmnky