ขั้นตอนสำหรับการแก้ไข Models (ถ้าสามารถแก้ไขตารางโดยใช้คำสั่งปกติได้ไม่ต้องทำตามขั้นตอนต่อไปนี้)
- ทำการแก้ไขข้อมูลในไฟล์ Models ที่ต้องการ เมื่อเสร็จแล้วทำการรันคำสั่งปกติเพื่อแก้ไขตารางแล้วพบว่ามีการ Error เกิดขึ้น
- เข้าไปยังโฟลเดอร์ของ App แล้วเข้าไปยังโฟลเดอร์ migrations โดยในตัวอย่างนี้ใช้ App ชื่อ group3 ดังนั้นจึงเข้าไปยังโฟลเดอร์ group3/migrations แล้วลบไฟล์ที่มีชื่อลักษณะดังนี้
- 0001_initial.py, 0001_initial.pyc
- 0002_initial.py, 0002_initial.pyc
- 0003_initial.py, 0003_initial.pyc
- ...
- ดาวน์โหลดโปรแกรม SQLite Database Browser ที่นี่
- เปิดโปรแกรม SQLite Database Browser เข้าไปที่เมนู File >> Open Database หรือกด Ctrl+O หลังจากนั้นเลือกไปยังที่อยู่ของโปรเจ็ค แล้วเปิดไฟล์ฐานข้อมูลที่เป็นไฟล์นามสกุล sqlite3
- 1)เลือกแถบ Browse Data
2)เลือกตาราง django_migrations
3)เลือกแถวที่มี app ตรงกับชื่อ app ของเรา
4)กดปุ่ม Delete Record
5)ทำขั้นตอนที่ 3) และ 4) ซ้ำจนกว่าแถวที่มีชื่อ app ของเราหมด
- 1)กดปุ่ม Delete Table เพื่อลบตาราง ซึ่งข้อมูลที่อยู่ภายในตารางนั้นจะถูกลบทิ้ง
2)เลือกตารางที่มีชื่อขึ้นต้นตรงกับชื่อ app (ในตัวอย่าง app ชื่อ group3)
3)ทำขั้นตอนที่ 1) และ 2) จนกว่าตารางทั้งหมดที่มีชื่อขึ้นต้นด้วยชื่อ app จะถูกลบทิ้งทั้งหมด - 1)เลือกตาราง django_content_type
2)เลือกแถวที่มีชื่อ app (ในที่นี้ app ชื่อ group3)
3)กดปุ่ม Delete Record
4)ทำขั้นตอนที่ 2) และ 3) ซ้ำจนกว่าจะลบแถวที่มีชื่อ app ของเราจนหมด
- 1)เลือกตาราง auth_permission
2)เลือกแถวที่เกี่ยวข้องกับตารางใน app ของเรา (ในที่นี้ app ชื่อว่า group3 มีทั้งหมด 6 ตารางคือ Prof2Lang, Subject, Section, Teach, HourlyEmployee และ work)
3)กดปุ่ม Delete Record
4)ทำขั้นตอนที่ 2) และ 3) ซ้ำจนกว่าแถวที่เกี่ยวข้องกับตารางใน app ของเราจะถูกลบจนหมด
- เข้าไปที่เมนู File >> Save Database เพื่อบันทึกการแก้ไขใน database ทั้งหมด
- ใช้คำสั่งปกติในการสร้างตารางฐานข้อมูลของ app ใหม่
- คำสั่งปกติที่ใช้สร้างตารางฐานข้อมูล
- $ python manage.py makemigrations ชื่อapp
- $ python manage.py sqlmigrate ชื่อapp ตัวเลขที่ได้จากคำสั่งแรก(เช่น 0001)
- $ python manage.py migrate




ไม่มีความคิดเห็น:
แสดงความคิดเห็น