Ruby on rails rake-如何在另一个任务中使用环境变量执行任务?

Ruby on rails rake-如何在另一个任务中使用环境变量执行任务?,ruby-on-rails,ruby,rake,rake-task,Ruby On Rails,Ruby,Rake,Rake Task,我想从另一个任务内部模拟命令RAILS\u ENV=test rake db:migrate。 我不希望变量的更改影响after tasks/bash命令,因此“硬设置”环境变量不是一个选项。 我找不到如何使用Rake::Task['Task_name']执行此操作。调用类似的操作可以完成此任务: ENV["RAILS_ENV"] = "test" Rake::Task['db:migrate'].invoke 从Ruby内部更改ENV不会影响父shell——它只是一个已经加载到Ruby中的副

我想从另一个任务内部模拟命令
RAILS\u ENV=test rake db:migrate

我不希望变量的更改影响after tasks/bash命令,因此“硬设置”环境变量不是一个选项。

我找不到如何使用
Rake::Task['Task_name']执行此操作。调用

类似的操作可以完成此任务:

ENV["RAILS_ENV"] = "test"
Rake::Task['db:migrate'].invoke
从Ruby内部更改ENV不会影响父shell——它只是一个已经加载到Ruby中的副本