在Rails生产环境中运行Thor

问题描述:

我想在生产中的rails 3上运行一些thor任务,但我不知道如何设置它。 下面的代码没有工作在Rails生产环境中运行Thor

class CheckData < Thor 
    require File.expand_path('config/environment.rb') 
end 
+1

你是否有错误?如果是,比它是什么? – 2011-01-25 05:57:43

+0

好,那么环境就是development.i不知道如何改变生产。我的目标是通过thor任务处理生产数据库。 – raykin 2011-01-26 01:26:52

设置RAILS_ENV环境变量来“生产”正上方的require说法应该工作。如果环境变量未提前设置,我在此处使用条件赋值来将环境默认为“生产”。

class CheckData < Thor 
    ENV['RAILS_ENV'] ||= 'production' 
    require File.expand_path('config/environment.rb') 
end 

如果你正在运行它作为命令行雷神任务,那么你可以在运行前设置环境变量,从而覆盖默认分配:从

export RAILS_ENV=test; thor check_data 

见配置Rails应用程序Rails Environment SettingsRailsGuides了解更多环境变量。