Tôi đã thiết lập ứng dụng Docker Django / PostgreSQL theo đúng hướng dẫn Bắt đầu nhanh Django trên trang web Docker .
Lần đầu tiên tôi chạy di chuyển management.py của Django bằng cách sử dụng lệnh sudo docker-compose run web python manage.py migrate
, nó hoạt động như mong đợi. Cơ sở dữ liệu được xây dựng bên trong vùng chứa Docker PostgreSQL tốt.
Các thay đổi được thực hiện đối với bản thân ứng dụng Django cũng được phản ánh trong vùng chứa Docker Django, tại thời điểm tôi lưu chúng. Thật tuyệt vời!
Nhưng nếu tôi sau đó thay đổi một mô hình trong Django, và cố gắng cập nhật cơ sở dữ liệu Postgres để phù hợp với mô hình, không có thay đổi được phát hiện vì vậy không di cư xảy ra dù có bao nhiêu lần tôi chạy makemigrations
hoặc migrate
một lần nữa.
Về cơ bản, mỗi khi tôi thay đổi mô hình Django, tôi phải xóa các vùng chứa Docker (đang sử dụng sudo docker-compose rm
) và bắt đầu lại với một lần di chuyển mới.
Tôi vẫn đang cố gắng tìm hiểu Docker, và có rất nhiều điều tôi không hiểu về cách hoạt động của nó, nhưng điều này khiến tôi phát điên. Tại sao di chuyển không thấy các thay đổi của tôi? Tôi đang làm gì sai?
You just have to log into your running docker container and run your commands.
nhưng lý do gì khiến nó hoạt động như vậy? @LouisBarranqueiro