Rails 3 で本番環境でトールタスクを実行したいのですが、設定方法がわかりません。次のコードは機能しませんでした
class CheckData < Thor
require File.expand_path('config/environment.rb')
end
Rails 3 で本番環境でトールタスクを実行したいのですが、設定方法がわかりません。次のコードは機能しませんでした
class CheckData < Thor
require File.expand_path('config/environment.rb')
end
ステートメントのすぐ上で RAILS_ENV 環境変数を「production」に設定すると機能するrequire
はずです。ここで条件付き割り当てを使用して、環境変数が事前に設定されていない場合に環境をデフォルトで「運用」に設定しました。
class CheckData < Thor
ENV['RAILS_ENV'] ||= 'production'
require File.expand_path('config/environment.rb')
end
コマンドラインから Thor タスクとして実行している場合は、実行する前に環境変数を設定して、デフォルトの割り当てを上書きできます。
export RAILS_ENV=test; thor check_data
その他の環境変数については、RailsGuidesのRails アプリケーションのRails 環境設定の構成を参照してください。