これは少し簡単な質問だと思います!
.env
ファイルを使用してすべての環境変数を保持し、foreman
を使用しています。
残念ながら、これらの環境変数はRails console Rails c
の実行時にロードされないため、コンソールの実行後に手動でロードするようになりました。これは最善の方法ではありません。
そのためのより良い方法があるかどうか知りたいのですが。
約1年前、「run」コマンドがforeman
に追加されました
参照: https://github.com/ddollar/foreman/pull/121
次のように使用できます。
foreman run Rails console
または
foreman run rake db:migrate
Railsは、フォアマンに固有であるため、.envファイルで指定された環境変数を認識しません。 Railsコンソールを呼び出す前に、環境を明示的に設定する必要があります。 この質問 をご覧ください。
私は個人的に dotenv を開発およびテスト環境で使用しています。このアプローチでは、コマンドにプレフィックスを付ける必要はありません。config/application.rb
でイニシャライザーを呼び出すだけです。
Bundler.require(*Rails.groups)
Dotenv::Railtie.load
HOSTNAME = ENV['HOSTNAME']