Ruby on rails Rails:一次运行多个rake任务?

Ruby on rails Rails:一次运行多个rake任务?,ruby-on-rails,rake,Ruby On Rails,Rake,我一直很喜欢rails,但仍在为从命令行运行任务所需的时间而挣扎 我想知道是否有可能在每次不重新加载环境的情况下组合多个rake任务。例如,如果我跑步 rails generate rspec:install && rails generate model test_model title:string && rake db:migrate 它将花费10秒钟加载rails以运行rspec安装,然后再花10秒钟加载环境以生成模型,然后再花10秒钟加载环境以进行迁移

我一直很喜欢rails,但仍在为从命令行运行任务所需的时间而挣扎

我想知道是否有可能在每次不重新加载环境的情况下组合多个rake任务。例如,如果我跑步

rails generate rspec:install && rails generate model test_model title:string && rake db:migrate
它将花费10秒钟加载rails以运行rspec安装,然后再花10秒钟加载环境以生成模型,然后再花10秒钟加载环境以进行迁移。有没有办法让相同的环境对所有3个命令都保持打开状态?

看看gem-它引导Rails环境,然后提供一个命令行界面,这样您就可以在其中运行命令。使用它时有一些限制(我不认为您可以更改RAILS_ENV),但是对于您的用例来说,它应该是完美的

如果您的命令只是rake任务,则可以使用空格分隔它们,例如:

rake db:migrate && rake db:test:clone_structure
将成为

rake db:migrate db:test:clone_structure

注意:用空格分隔Rake任务似乎就像Bash操作符
&&
,正如答案所暗示的那样–而不是
操作员。只有在以前的任务完成且没有错误的情况下,空间分隔才会运行任务
bundle exec rake test cucumber
仅在
测试期间没有测试失败的情况下运行
cucumber
任务。空格分隔也不完全等同于
&
。在我的代码的一个版本中,
bundle-exec-rake-test-cumber
使一些cumber测试失败,但是
bundle-exec-rake-test和&bundle-exec-rake-cumber
允许所有测试通过。(这可能与该版本代码上的
bundle exec cucumber
(没有
rake
)有时(但并非总是)会导致某些测试失败有关。)rails sh从2012年开始:(看起来只是