0Pricing
Flask Academy · บทเรียน

สร้างแบบแผนด้วย create_all

สร้างตารางจากคำจำกัดความโมเดล

สร้างแบบแผนด้วย create_all เป็นบทเรียน Flask Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Flask Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน

จากโมเดลสู่ตาราง

โมเดลของคุณอธิบายตารางแล้ว แต่ไฟล์ฐานข้อมูลยังว่างอยู่ คุณต้องทำอีกหนึ่งขั้นตอนเพื่อเปลี่ยนการประกาศให้เป็น ตารางจริง 🏗️

ทำความรู้จัก create_all

db.create_all() จะตรวจสอบทุกโมเดลที่รู้จักและออกคำสั่ง CREATE TABLE ให้คุณ การเรียกใช้เพียงครั้งเดียวจะสร้างโครงสร้างฐานข้อมูลทั้งหมด

db.create_all()

ต้องใช้บริบทแอปพลิเคชัน

ต้องเรียกใช้ create_all ภายใน บริบทแอปพลิเคชัน เพื่อให้ค้นหาการตั้งค่าและการเชื่อมต่อฐานข้อมูลที่ถูกต้องได้

with app.app_context():
    db.create_all()

นำเข้าโมเดลก่อน

create_all จะสร้างตารางเฉพาะโมเดลที่ถูก นำเข้าแล้วเท่านั้น หากไม่เคยโหลดไฟล์โมเดล ตารางของโมเดลนั้นจะหายไปโดยไม่มีข้อความแจ้งเตือน

เรียกใช้จากเชลล์

วิธีที่สะอาดในการตั้งค่าฐานข้อมูลคือใช้ flask shell ซึ่งมีบริบทแอปพลิเคชันทำงานและพร้อมใช้อยู่แล้ว

flask shell

เรียกใช้ซ้ำได้อย่างปลอดภัย

create_all จะข้ามตารางที่มีอยู่แล้ว ดังนั้นการเรียกใช้สองครั้งจะไม่ทำให้โปรแกรมหยุดทำงาน แต่จะสร้างเฉพาะสิ่งที่ ขาดหายไป

จะไม่แก้ไขตาราง

ข้อควรรู้คือ create_all จะไม่ เปลี่ยนแปลงตารางที่มีอยู่ หากเพิ่มคอลัมน์ใหม่ ตารางเดิมก็จะยังคงเหมือนเดิมทุกประการ

ล้างทุกอย่างด้วย drop_all

ต้องการเริ่มต้นใหม่ในสภาพแวดล้อมการพัฒนาหรือไม่ db.drop_all() จะลบทุกตารางและข้อมูลทั้งหมด ดังนั้นควรใช้อย่างระมัดระวังเป็นอย่างยิ่ง

db.drop_all()

รูปแบบการรีเซ็ตในสภาพแวดล้อมพัฒนา

การรีเซ็ตในสภาพแวดล้อมพัฒนาที่ใช้กันทั่วไปคือ ลบแล้วสร้างใหม่ วิธีนี้สร้างตารางที่สะอาดขึ้นมาใหม่ แต่จะลบ ข้อมูลทั้งหมดด้วย ดังนั้นห้ามทำในระบบจริง

db.drop_all()
db.create_all()

ตรวจสอบว่าไฟล์ปรากฏขึ้น

สำหรับ SQLite ไฟล์ฐานข้อมูล เช่น app.db จะปรากฏขึ้นหลังเรียกใช้ create_all การเห็นไฟล์ยืนยันว่าตารางถูกสร้างขึ้นจริง

ขั้นถัดไป: การย้ายข้อมูล

เนื่องจาก create_all ไม่สามารถพัฒนาโครงสร้างฐานข้อมูลต่อได้ โครงการจริงจึงเปลี่ยนไปใช้ การย้ายข้อมูลทันทีที่โมเดลเริ่มเปลี่ยนแปลงไปตามเวลา

ตรวจสอบอย่างรวดเร็ว

คุณเพิ่มคอลัมน์ใหม่ในโมเดลที่มีอยู่แล้ว create_all จะทำอะไร

สรุปทบทวน

คุณสร้างตารางด้วย db.create_all() ภายในบริบทแอปพลิเคชัน เรียนรู้ว่าเมธอดนี้จะไม่แก้ไขตารางเดิม และได้ทำความรู้จัก drop_all แล้ว 🎉

คำถามที่พบบ่อย

บทเรียน “สร้างแบบแผนด้วย create_all” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “สร้างแบบแผนด้วย create_all” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Flask Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “สร้างแบบแผนด้วย create_all”

สร้างตารางจากคำจำกัดความโมเดล คุณปฏิบัติ Flask Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Flask Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Flask Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “สร้างแบบแผนด้วย create_all” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Flask Academy นี้ได้ไหม

ได้ บทเรียน Flask Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ติดตั้งและกำหนดค่าส่วนขยาย
  2. กำหนดคลาสโมเดลแรกของคุณ
  3. คอลัมน์ ชนิดข้อมูล และข้อจำกัด
  4. สร้างแบบแผนด้วย create_all
← กลับไปที่ Flask Academy