#前のページの続きになります。
前回の記事はこちら。
#migrateできるようにする。
前回までで、ルーティングとtwigテンプレートの導入までは正常に動いていましたが、
教科書(Symfony4入門 掌田 津耶乃著)を読み進めていたところ、DBにマイグレーションするところでエラーになりました。
なぜか、postgresに接続しようとしている。
そんなことをdocker-composeに書いた覚えはないのに・・
そこで、以下のファイルを修正
/app/my_app/.env (symfonyのプロジェクトルートにある方の.env 前回のdocker用.envとは違う)
DATABASE_URL= の後に、docker-compose.yamlのDATABASE_URLの値をコピペする。
mysql以外のドライバはコメントアウトする。
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
#DATABASE_URL="postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=13&charset=utf8"
#DATABASE_URL="mysql://db_user:db_password@127.0.0.1:3306/?serverVersion=5.7"
DATABASE_URL="mysql://root:root@mysql/app_db"
ここまででもう一度マイグレーションしてみると今度は以下のエラーが出ました。
docker-syncしてるからローカルホストから起動すると思っていたのですが、
php bin/console make:migrationはコンテナの中で実行しないとこういうエラーになるそうです。
なのでコンテナに入ります。
docker-compose exec app bash
入ったら、
cd my_app
docker-compose exec app bash
#以上
お疲れ様でした。
#参考
Laravel+dockerの記事を参考にしましたが、symfonyでも同じように解決できました。