Docker 사이트 의 Django Quick Start 지침에 따라 Docker Django / PostgreSQL 앱을 설정했습니다 .
Django의 manage.py migrate를 처음 실행할 때 다음 명령을 사용합니다. sudo docker-compose run web python manage.py migrate
하면 예상대로 작동합니다. 데이터베이스는 Docker PostgreSQL 컨테이너 내부에 구축됩니다.
Django 앱 자체에 대한 변경 사항은 저장하는 순간 Docker Django 컨테이너에도 반영됩니다. 대단해!
그러나 Django에서 모델을 변경하고 모델과 일치하도록 Postgres 데이터베이스를 업데이트하려고하면 변경 사항이 감지되지 않으므로 몇 번 makemigrations
이나 실행해도 마이그레이션이 발생하지 않습니다.migrate
다시 .
기본적으로 Django 모델을 변경할 때마다 Docker 컨테이너를 삭제해야합니다. sudo docker-compose rm
) 새 마이그레이션으로 새로 시작해야합니다.
나는 여전히 Docker에 대해 머리를 돌리려고 노력하고 있으며 작동 방식에 대해 이해하지 못하는 끔찍한 것이 있지만 이것은 나를 미치게합니다. 마이그레이션에 내 변경 사항이 표시되지 않는 이유는 무엇입니까? 내가 뭘 잘못하고 있죠?
You just have to log into your running docker container and run your commands.
그러나 그것이 그렇게 행동하는 이유는 무엇입니까? @LouisBarranqueiro