データベースの接続方法
・config/database.yml
・環境変数
両方存在する場合
提供された接続情報が重複している:環境変数が優先
提供された接続情報が競合している:環境変数が優先
両方存在していて、かつconfig/database.ymlが優先されるようにしたい場合、database.ymlで"url"サブキーで明示的にURL接続を指定する。
production:
url: my_database
production環境では、database.yml内で明示的にENV['DATABASE_URL']を使うのがベストプラクティス。
理由:データベース接続のパスワード等の秘密情報をGitなどのソースコントロールに直接登録するのは望ましくないため。
# config/database.yml ... production: <<: *default database: appname_production username: appname password: <%= ENV['APPNAME_DATABASE_PASSWORD'] %> url: <%= ENV['DATABASE_URL'] %> ...