Docker sitesindeki Django Hızlı Başlangıç talimatlarını yakından takip ederek bir Docker Django / PostgreSQL uygulaması kurdum .
Django'nun manage.py migrate komutunu kullanarak ilk çalıştırdığımda sudo docker-compose run web python manage.py migrate
beklendiği gibi çalışıyor. Veritabanı, Docker PostgreSQL kapsayıcısının içinde oluşturulmuştur.
Django uygulamasının kendisinde yapılan değişiklikler, onları kaydettiğim anda Docker Django konteynerine de aynı şekilde yansıtılıyor. Bu harika!
Ancak daha sonra Django'da bir modeli değiştirirsem ve Postgres veritabanını modelle eşleşecek şekilde güncellemeye çalışırsam, hiçbir değişiklik algılanmaz, bu nedenle kaç kez çalıştırsam makemigrations
veya migrate
tekrar çalıştırsam da geçiş olmaz .
Temel olarak, Django modelini her değiştirdiğimde, Docker konteynerlerini silmem (kullanarak sudo docker-compose rm
) ve yeni bir geçişle yeniden başlamam gerekiyor.
Hâlâ Docker'ın etrafından dolaşmaya çalışıyorum ve nasıl çalıştığına dair anlamadığım çok şey var, ama bu beni deli ediyor. Neden değişikliklerimi taşıma işlemi görmüyor? Neyi yanlış yapıyorum?
You just have to log into your running docker container and run your commands.
ama bu şekilde davranmasının nedeni nedir? @LouisBarranqueiro