makemigrations กับ migrate
Django วางแผนและนำการเปลี่ยนแปลงโครงสร้างไปใช้อย่างไร
makemigrations กับ migrate เป็นบทเรียน Django Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Django Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน
สองขั้นตอนไม่ใช่ขั้นตอนเดียว
Django เปลี่ยนแปลงฐานข้อมูลของคุณเป็น สอง ขั้นตอน ขั้นแรกคือเขียนแผน จากนั้นจึงเรียกใช้แผนนั้น การรู้ว่าแต่ละขั้นตอนทำอะไรช่วยลดความสับสนได้มาก 🧭
makemigrations จัดทำแผน
makemigrations ตรวจสอบโมเดลของคุณ ดูว่ามีอะไรเปลี่ยนแปลง แล้วเขียนไฟล์ Migration ที่อธิบายการเปลี่ยนแปลงนั้น โดยยังไม่แตะต้องฐานข้อมูล
python manage.py makemigrationsmigrate นำแผนไปใช้
migrate นำไฟล์ Migration เหล่านั้นไปเรียกใช้กับฐานข้อมูลจริง เพื่อสร้างหรือแก้ไขตารางจริง
python manage.py migrateเหตุผลที่แยกสองขั้นตอน
การแยกแผนออกจากการดำเนินการช่วยให้คุณ ตรวจทาน การเปลี่ยนแปลง บันทึกลง git และเรียกใช้ขั้นตอนเดียวกันบนทุกเครื่องและเซิร์ฟเวอร์ได้
Migration คือไฟล์
แผนแต่ละรายการจะอยู่ในไฟล์ภายในแอปของคุณใต้ migrations/ คุณควรบันทึกไฟล์เหล่านี้ไว้ เพื่อให้เพื่อนร่วมทีมใช้การเปลี่ยนแปลงที่เหมือนกันทุกประการ
วงจรการทำงานทั่วไป
แก้ไขโมเดล เรียกใช้ makemigrations เพื่อบันทึกการเปลี่ยนแปลง แล้วเรียกใช้ migrate เพื่อนำไปใช้ วงจรนี้คือ กระบวนการทำงานกับโครงสร้างฐานข้อมูลที่คุณใช้เป็นประจำ
การตั้งชื่อ Migration
เพิ่มป้ายกำกับที่ชัดเจน เพื่อให้ชื่อไฟล์อ่านเหมือนประวัติการเปลี่ยนแปลง ไม่ใช่กองตัวเลข ใช้ตัวเลือก --name เพื่ออธิบายสิ่งที่เปลี่ยนแปลง
python manage.py makemigrations --name add_published_fieldกำหนดเป้าหมายแอปเดียว
ส่งป้ายกำกับของแอปเพื่อสร้างหรือนำ Migration ไปใช้กับ แอปนั้นโดยเฉพาะ ช่วยแยกการเปลี่ยนแปลงที่ไม่เกี่ยวข้องออกไป
python manage.py makemigrations blogตรวจสอบโดยไม่เปลี่ยนแปลง
เรียกใช้ makemigrations พร้อม --check ใน CI เพื่อให้การสร้างล้มเหลว หากการเปลี่ยนแปลงโมเดลยังไม่มี Migration ที่ตรงกัน
python manage.py makemigrations --check --dry-runดูสิ่งที่ถูกนำไปใช้แล้ว
คำสั่ง showmigrations จะแสดง Migration ทุกรายการ และทำเครื่องหมายรายการที่นำไปใช้แล้วด้วย X ทำให้คุณทราบสถานะปัจจุบันที่แน่นอน
python manage.py showmigrationsลำดับมีความสำคัญ
เรียกใช้ makemigrations ก่อนเสมอ แล้วจึงเรียกใช้ migrate การเรียกใช้ migrate เพียงอย่างเดียวจะนำแผนที่มีอยู่แล้วไปใช้ รวมถึงแผนที่ Django สร้างไว้ด้วย
ตรวจสอบความเข้าใจสั้น ๆ
คำสั่งใดเป็นคำสั่งที่เปลี่ยนแปลงตารางในฐานข้อมูลจริง
ทบทวน
คุณได้เรียนรู้ลำดับการทำงานแล้ว: makemigrations เขียนแผน ส่วน migrate นำแผนไปใช้ วางแผนก่อน แล้วจึงนำไปใช้ เพื่อให้โครงสร้างฐานข้อมูลสอดคล้องกันทุกแห่ง 🎉
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “makemigrations กับ migrate” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “makemigrations กับ migrate” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Django Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “makemigrations กับ migrate”
Django วางแผนและนำการเปลี่ยนแปลงโครงสร้างไปใช้อย่างไร คุณปฏิบัติ Django Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Django Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Django Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “makemigrations กับ migrate” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Django Academy นี้ได้ไหม
ได้ บทเรียน Django Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- makemigrations กับ migrate
- อ่านไฟล์การย้ายโครงสร้าง
- เปลี่ยนโมเดลและย้ายโครงสร้างอีกครั้ง
- sqlmigrate และการตรวจสอบ SQL