前提
Railsでアプリを作成しています。
MySQLのpassword等の環境変数設定についての疑問なのですが、自分の中ではpassword等のデータをgithubにpushしないように環境変数に設定すると理解しています。
調べていると
ENV[]
ENV.fetch()
の2種類の設定方法があることがわかりました。
そこで以下のdatabase.ymlについて質問があります。
databaseyml
1default: &default 2 adapter: mysql2 3 encoding: utf8 4 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 5 host: <%= ENV.fetch("DATABASE_HOST") { "localhost" } %> 6 username: <%= ENV.fetch("DATABASE_USER") { "root" } %> 7 password: <%= ENV.fetch("DATABASE_PASSWORD") { "password" } %> 8 database: <%= ENV.fetch("DATABASE_NAME") { "database" } %>
ENV.fetch()の動き方については調べ、環境変数が存在していれば環境変数を読み込み、なければ{ }の中を読み込むものであると理解しています。
fetchを使った方が良いという記事をよく見かけるのですが、これだと{ }の中にパスワードとかをベタ書きしてしまっているので環境変数を設定している意味が無いのではと思ってしまいました。
それとも全く関係のないものを{ }の中には書き込むのでしょうか?例えばチーム開発等でこのdatabase.ymlを共有する場合、{ }の中にはhogeとかを入れておいて git cloneしてもらった後に各自の環境のパスワードに変更してもらうみたいな感じでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/17 06:47