Symfonyエラー:An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused

前回と同様Symfonyの勉強中

Entity作成の工程で migration ファイル作成の

% docker-compose exec php php bin/console make:migration

これでエラー発生

DBに接続できませんよってはなし

 

今回使用しているDBはMySQLなんですけど、SymfonyはデフォルトPostgresSQLなんですかね?

.envの設定がPostgresSQLになってました

.env

# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
#DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/db_name?serverVersion=5.7&charset=utf8mb4"
DATABASE_URL="postgresql://symfony:ChangeMe@127.0.0.1:5432/app?serverVersion=13&charset=utf8"
###< doctrine/doctrine-bundle ###

これをMySQLを使うように変更します

このとき、docker-compose.yml を参照して以下のように変更します

db_user → root
db_password → rootのパスワード
127.0.0.1 → DBのコンテナ名
db_name → DB名
docker-compose.yml

services:
    database:
      container_name: database
      image: mysql:5.7
      command: --default-authentication-plugin=mysql_native_password
      environment:
        MYSQL_ROOT_PASSWORD: secret
        MYSQL_DATABASE: symfony_docker
        MYSQL_USER: symfony
        MYSQL_PASSWORD: symfony
db_user → root
db_password → secret
127.0.0.1 → database
db_name → symfony_docker

.env

# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
DATABASE_URL="mysql://root:secret@database:3306/symfony_docker?serverVersion=5.7&charset=utf8mb4"
#DATABASE_URL="postgresql://symfony:ChangeMe@127.0.0.1:5432/app?serverVersion=13&charset=utf8"
###< doctrine/doctrine-bundle ###
 
変更後に migration ファイル作成コマンドを実行します
一応年のために docker-compose down、docker-compose -d up でコンテナを上げ直したほうがいいかもしれません
 
 
成功 ヽ(=´▽`=)ノ
 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です