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() ปิดเซสชันปัจจุบันโดยการล้างรายการทั้งหมดและสิ้นสุดธุรกรรมที่อยู่ระหว่างดำเนินการ |