热爱铁路,但仍然在努力从命令行运行任务需要多长时间。
我想知道是否可以在不重新加载环境的情况下组合多个rake任务。例如,如果我运行
rails generate rspec:install && rails generate model test_model title:string && rake db:migrate
它将花费10秒加载rails来运行rspec安装,然后另外10秒加载环境以生成模型,然后另一个用于迁移。有没有办法让所有3个命令保持相同的环境?
答案 0 :(得分:25)
查看rails-sh gem - 它启动Rails环境,然后提供命令行界面,以便您可以在其中运行命令。使用它时有一些限制(我认为你不能改变你的RAILS_ENV),但对于你的用例,它应该是完美的。
如果你的命令只是rake任务,你可以使用空格来分隔它们,例如:
rake db:migrate && rake db:test:clone_structure
会变成
rake db:migrate db:test:clone_structure