docker로 symfony & mysql & phpmyAdmin의 로컬 개발 환경을 만듭니다. ②

1870 단어 심포니도커

이전 페이지의 계속됩니다.



전회의 기사는 이쪽.

migrate 할 수 있게 한다.



전회까지, 라우팅과 twig 템플릿의 도입까지는 정상적으로 움직였지만,
교과서(Symfony4 입문 카마타 츠야노 저)를 읽고 진행하고 있었는데, DB에 마이그레이션하는 곳에서 에러가 되었습니다.



왜, 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:[email protected]:5432/db_name?serverVersion=13&charset=utf8"
#DATABASE_URL="mysql://db_user:[email protected]: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의 기사를 참고했지만, 심포니에서도 똑같이 해결할 수 있었습니다.

좋은 웹페이지 즐겨찾기