前回と同様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 でコンテナを上げ直したほうがいいかもしれません
成功 ヽ(=´▽`=)ノ
コメントを残す