tengo esta pequeña tarea rake:¿Cómo fuerzo a RAILS_ENV en una tarea de rake?
namespace :db do
namespace :test do
task :reset do
ENV['RAILS_ENV'] = "test"
Rake::Task['db:drop'].invoke
Rake::Task['db:create'].invoke
Rake::Task['db:migrate'].invoke
end
end
end
Ahora, cuando yo haga, se ignorará la RAILS_ENV Traté de codificar. Cómo hago que esta tarea funcione como se espera
sí, esto parece un poco menos hacky que perder el tiempo con RAILS_ENV –
Para mí, invocar procesos adicionales de Rake parece mucho * más * hacky. –
Es mejor que tener su tarea enredarse con el medio ambiente de una manera destructiva. Si lo haces de esta manera, puedes usarlo como una dependencia en otra tarea sin causar una catástrofe total. ¿Desea ejecutar una tarea de rake en modo de prueba? Ejecute la tarea en modo de prueba. Si intentas simular el modo de prueba, y probablemente lo cambien de nuevo a cualquier modo en el que estés realmente después, es incompleto. –