मैंने Docker साइट पर Django क्विक स्टार्ट निर्देशों का बारीकी से पालन करते हुए एक डॉकर Django / PostgreSQL ऐप की स्थापना की है ।
पहली बार जब मैं Django का मैनेजमेन्ट माइग्रेट करता हूं, तो कमांड का उपयोग करते हुए sudo docker-compose run web python manage.py migrate
, यह अपेक्षित रूप से काम करता है। डेटाबेस डॉक PostgreSQL कंटेनर के अंदर ठीक बनाया गया है।
Django ऐप में किए गए बदलाव उसी तरह से हैं जो डॉकेर Django कंटेनर में दिखाई देते हैं, जिस पल मैं उन्हें बचाता हूं। यह बहुत अच्छा है!
लेकिन अगर मैं फिर Django में एक मॉडल को बदल देता हूं, और मॉडल से मिलान करने के लिए Postgres डेटाबेस को अपडेट करने का प्रयास करता हूं, तो कोई भी परिवर्तन नहीं पाया जाता है इसलिए कोई माइग्रेशन नहीं होता है कि कितनी बार मैं चलाऊंगा makemigrations
या migrate
फिर से।
मूल रूप से, हर बार जब मैं Django मॉडल को बदलता हूं, तो मुझे डॉकर कंटेनर (उपयोग sudo docker-compose rm
) को हटाना होगा और एक नए प्रवास के साथ नए सिरे से शुरू करना होगा।
मैं अभी भी डॉकटर के चारों ओर अपना सिर पाने की कोशिश कर रहा हूं, और एक भयानक बहुत कुछ है जो मुझे समझ नहीं आता है कि यह कैसे काम करता है, लेकिन यह एक पागल हो रहा है। माइग्रेट मेरे परिवर्तन क्यों नहीं देखता है? मैं क्या गलत कर रहा हूं?
You just have to log into your running docker container and run your commands.
लेकिन क्या कारण है कि यह उस तरह से व्यवहार करता है? @LouisBarranqueiro