สร้างแบบแผนด้วย 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ติดตั้งและกำหนดค่าส่วนขยาย
- กำหนดคลาสโมเดลแรกของคุณ
- คอลัมน์ ชนิดข้อมูล และข้อจำกัด
- สร้างแบบแผนด้วย create_all