SQLAlchemy ORM - การสร้างเซสชัน
ในการโต้ตอบกับฐานข้อมูลเราจำเป็นต้องได้รับหมายเลขอ้างอิง วัตถุเซสชันเป็นตัวจัดการฐานข้อมูล คลาสเซสชันถูกกำหนดโดยใช้ sessionmaker () - เมธอดโรงงานเซสชันที่กำหนดค่าได้ซึ่งถูกผูกไว้กับอ็อบเจ็กต์เอ็นจินที่สร้างขึ้นก่อนหน้านี้
from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind = engine)
จากนั้นวัตถุเซสชันจะถูกตั้งค่าโดยใช้ตัวสร้างเริ่มต้นดังนี้ -
session = Session()
วิธีการบางอย่างของคลาสเซสชันที่จำเป็นต้องใช้บ่อยมีดังต่อไปนี้ -
| ซีเนียร์ | วิธีการและคำอธิบาย |
|---|---|
| 1 | begin() เริ่มต้นธุรกรรมในเซสชันนี้ |
| 2 | add() วางวัตถุในเซสชัน สถานะของมันยังคงอยู่ในฐานข้อมูลในการดำเนินการล้างครั้งต่อไป |
| 3 | add_all() เพิ่มคอลเลกชันของวัตถุในเซสชัน |
| 4 | commit() ล้างรายการทั้งหมดและธุรกรรมที่อยู่ระหว่างดำเนินการ |
| 5 | delete() ทำเครื่องหมายธุรกรรมว่าถูกลบ |
| 6 | execute() เรียกใช้นิพจน์ SQL |
| 7 | expire() ทำเครื่องหมายแอตทริบิวต์ของอินสแตนซ์ว่าล้าสมัย |
| 8 | flush() ล้างการเปลี่ยนแปลงวัตถุทั้งหมดไปยังฐานข้อมูล |
| 9 | invalidate() ปิดเซสชันโดยใช้การยกเลิกการเชื่อมต่อ |
| 10 | rollback() ย้อนกลับธุรกรรมปัจจุบันที่อยู่ระหว่างดำเนินการ |
| 11 | close() ปิดเซสชันปัจจุบันโดยการล้างรายการทั้งหมดและสิ้นสุดธุรกรรมที่อยู่ระหว่างดำเนินการ |