2011-01-25 7 views
4

生産中のレール3にいくつかのタスクを実行したい、 しかし、私はそれを設定する方法を知らない。 次のコードは、右の文が動作するはずrequire上記「生産」にRAILS_ENV環境変数を設定するThorをRailsプロダクション環境で実行しています

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

エラーが発生しましたか?もしそうなら、それは何ですか? –

+0

よく、環境はdevelopment.i私は生産に変更する方法がわからない私の目標は、胸のタスクで生産DBを処理しています。 – raykin

答えて

6

を動作しませんでした。環境変数が事前に設定されていない場合は、ここで条件付き代入を使用して環境を「生産」にデフォルト設定します。

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

あなたはその後、実行する前に、環境変数を設定するため、デフォルトの割り当てオーバーライドすることができ、コマンドラインからのトールタスクとして、それを実行している場合:から

export RAILS_ENV=test; thor check_data 

の設定を参照on RailsアプリケーションRails Environment Settingsをより多くの環境変数の場合はRailsGuidesです。

+0

ありがとう、私はRAILS_ENVがシェル変数であることを知っている – raykin

関連する問題