rails6 envファイルを使用する

rails6で、envファイルを使用して環境変数を利用して、DBの接続情報などに利用するまでの手順を記述してます。railsのバージョンは6.1.0です。
環境
- OS ubuntu20.10
- ruby 2.7.2
- rails 6.1.0
- Postgresql 13.1 (dockerで構築)
事前準備
Gemfileに、envファイルを管理するためのgem「dotenv-rails」を追加します。
gem "dotenv-rails"
インストールします。
bundle install
envファイル作成
railsのプロジェクト配下に「.env」ファイルを作成して、接続情報を記述します。
DATABASE_HOST = 0.0.0.0
DATABASE_USER = mebee
DATABASE_PASSWORD = password
設定すると「rails c」で確認することが可能です。
rails c
irb(main):001:0> ENV['DATABASE_HOST']
=> "0.0.0.0"
irb(main):002:0> ENV['DATABASE_USER']
=> "mebee"

database.yml
設定した環境変数を、database.ymlで使用します。
default: &default
adapter: postgresql
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: <%= ENV['DATABASE_USER'] %>
password: <%= ENV['DATABASE_PASSWORD'] %>
host: <%= ENV['DATABASE_HOST'] %>
timeout: 5000
これで各環境で、envファイルを編集すれば、環境に合わせた設定を利用することが可能です。
「.env.sample」などを作成しておくと、他のメンバー、これをコピーして使用することができるので便利です。
※「.env」は、重要な情報が記述されているため「github」などには、そのままアップしないように注意して下さい。
-
前の記事
php array_count_valuesで配列内の少数の値をカウントする 2021.01.02
-
次の記事
React.js ライブラリ「react-typewriter-effect」を使ってタイプライティングを実装する 2021.01.03
コメントを書く