前提・実現したいこと
現在、Railsの開発環境をDockerに移行しています。
「docker-compose run web rake db:create db:migrate」でDBを作成したいです。
発生している問題・エラーメッセージ
database.ymlに.zprofileで設定した環境変数が反映されません。
ただ、なぜかdocker-compose.ymlに記述した環境変数は反映されています。
※ Dockerを導入する前までは、zprofileに記述した環境変数が通っていました。
エラーメッセージ
docker-compose run web rake db:create db:migrate
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Caused by:
KeyError: key not found: "SQL_PASSWORD"
該当のソースコード
rails
1 2# database.yml 3 4default: &default 5 adapter: mysql2 6 encoding: utf8mb4 7 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 8 username: root 9 password: <%= ENV.fetch("SQL_ROOT_PASSWORD") %> 10 11development: 12 <<: *default 13 database: hssb_development 14 host: db 15 16test: 17 <<: *default 18 database: hssb_test 19 host: db 20 21production: 22 <<: *default
zprofile
1# MySQLのrootパスワード 2export SQL_ROOT_PASSWORD="*******"
試したこと
・ database.ymlのROOTパスワードの箇所をベタ書き → 通りました。
・ Mac、ターミナルの再起動
・ % source /etc/zprofile
・ コンテナ、image、volumesの全削除
・ ターミナルで% esho $SQL_ROOT_PASSWORDと打つ → 表示されました
補足情報(FW/ツールのバージョンなど)
・ macOS
・ Rails 6.1.0
・ MYSQL 8.0.23
・ zsh
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。