LoginSignup
0
0

More than 1 year has passed since last update.

dockerでsymfony & mysql & phpmyAdminのローカル開発環境を作る。②

Posted at

前のページの続きになります。

前回の記事はこちら。

migrateできるようにする。

前回までで、ルーティングとtwigテンプレートの導入までは正常に動いていましたが、
教科書(Symfony4入門 掌田 津耶乃著)を読み進めていたところ、DBにマイグレーションするところでエラーになりました。

スクリーンショット 2021-05-13 13.04.16.png

なぜか、postgresに接続しようとしている。
そんなことをdocker-composeに書いた覚えはないのに・・

そこで、以下のファイルを修正
/app/my_app/.env (symfonyのプロジェクトルートにある方の.env 前回のdocker用.envとは違う)
DATABASE_URL= の後に、docker-compose.yamlのDATABASE_URLの値をコピペする。
mysql以外のドライバはコメントアウトする。

/app/my_app/.env
# 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"

ここまででもう一度マイグレーションしてみると今度は以下のエラーが出ました。

スクリーンショット 2021-05-13 13.12.20.png

docker-syncしてるからローカルホストから起動すると思っていたのですが、
php bin/console make:migrationはコンテナの中で実行しないとこういうエラーになるそうです。

なのでコンテナに入ります。

docker-compose exec app bash 

入ったら、

cd my_app
docker-compose exec app bash 

これで動きました。
スクリーンショット 2021-05-13 13.20.14.png

以上

お疲れ様でした。

参考

Laravel+dockerの記事を参考にしましたが、symfonyでも同じように解決できました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0