Repository navigation
v0.3.1 — core.tenancy.bind_tenant()
จาก care (issue #10 / care#4) — ไม่มี breaking change (set_tenant() ยังอยู่ · เพิ่ม API ใหม่)
core.tenancy.bind_tenant()/unbind_tenant()— ผูก tenant กับ session แล้วตั้ง GUC
ใหม่อัตโนมัติทุก transaction (ผ่าน eventafter_begin) จึง รอดการ commit กลางทาง ·
set_tenant()เดิมตั้ง GUC แค่ transaction เดียว (หายเมื่อ commit) → โค้ดที่ commit แล้วอ่านต่อ
หรือ background job ที่วนหลาย tenant เห็น 0 แถวแบบเงียบ ๆ (RLS deny-by-default) · care เจอตอน
เปิด RLS: เทส 42 ตัวกลายเป็น "ไม่พบผู้ป่วย"- เก็บ binding บน
session.info(ไม่ใช่id(session)— id ถูกใช้ซ้ำหลัง GC ทำให้ session
ใหม่รับ binding ของ session ที่ตายแล้ว · gotcha ที่ care เจอตอนเขียน workaround) get_scopeเปลี่ยนมาใช้bind_tenant()→ RLS ของตารางโดเมนกรองถูกแม้ service layer commit กลาง request
- เก็บ binding บน
- MODULE_GUIDE §9: เพิ่มวิธีใช้
bind_tenant+ คำเตือน footgun ของset_tenant+ pattern ให้
background job discover tenant จากตารางtenant(control plane ไม่มี RLS) ไม่ใช่ตารางโดเมนที่มี RLS
v0.3.0 — 2026-08-19
เกิดจากรายงานของ care (#10 · PR #11)
· app repo ที่ pin v0.3.0 อยู่อัปเป็น v0.3.1 ได้เลย ไม่ต้องแก้โค้ดเดิม (set_tenant() ยังอยู่ครบ)