hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

bin/rails db:create エラー

エラー解決

bin/rails db:create を(2回目作成時)以下の

エラー。

 

could not translate host name "db" to address: Name does not resolve

これは、

db というホストが見つかりませんという意味。

 

 host: db を確認。

Railsからはdockerで設定したリンク(ホスト)が見えない、ということなので、環境変数を経由することにする。


例えば
docker-compose.ymlに次のように追加

environment:
  - DATABASE_HOST=db
  - DATABASE_PORT=5432


database.ymlに次のように追加

default: &default
  adapter: postgresql
  encoding: unicode
  host: <%= ENV.fetch('DATABASE_HOST') { 'localhost' } %>
  port: <%= ENV.fetch('DATABASE_PORT') { 5432 } %>
これで解決した!