7
คุณดำเนินการย้ายฐานข้อมูล Django อย่างไรเมื่อใช้ Docker-Compose
ฉันได้ตั้งค่าแอปหาง Django / PostgreSQL อย่างใกล้ชิดต่อไปนี้คำแนะนำ Django Quick Start บนเว็บไซต์เทียบท่า ครั้งแรกที่ฉันเรียกใช้ Manage.py migrate ของ Django โดยใช้คำสั่ง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 และมีหลายอย่างที่แย่มากที่ฉันไม่เข้าใจเกี่ยวกับวิธีการทำงาน แต่สิ่งนี้ทำให้ฉันรู้สึกแย่ …