สมอง SML

คลังความรู้ / ตารางข้อมูล

#table#sml#identity#company#main-db

sml_database_list — ทะเบียนบริษัท

ทะเบียน "บริษัท" ของ Tenant อยู่ใน Main Database — หนึ่งแถว = หนึ่งบริษัท บอกชื่อฐานข้อมูลจริงที่เก็บข้อมูลธุรกิจของบริษัทนั้น (Company Database) ตารางเดิม (legacy)

คอลัมน์ (identity_schema.sql:34-45 + identity.go:75-81)

คอลัมน์ ชนิด ความหมาย
data_group varchar(50) กลุ่ม/แพ็กเกจฐานข้อมูล (ใช้คู่กับ data_code; เทียบแบบ UPPER)
data_code varchar(50) PK รหัสบริษัท
data_name varchar(150) ชื่อบริษัท
data_database_name varchar(100) ชื่อ PostgreSQL database จริงของบริษัท (ที่ใช้เปิด Company pool)
last_database_xml_update timestamp เวลาอัปเดต XML ของฐาน (ไม่ชัดจากโค้ดว่าเว็บใช้อย่างไร)
roworder bigserial ใช้เรียงลำดับในรายการบริษัท (ORDER BY dl.roworder)
ignore_sync, is_lock_record, create_date_time_now — ฝั่งโปรแกรมเดิม

ใครใช้

  • หลังล็อกอิน: AccessibleCompanies JOIN ตารางนี้กับ sml_database_list_user_and_group — สิทธิ์เข้าบริษัท (Access Grant) เพื่อได้รายการบริษัทที่ผู้ใช้เข้าได้ (postgres_repository.go:140-146)
  • แอดมินจัดการบริษัท: admin/handler.go:438-588
  • workspace Google สร้างฐานบริษัทใหม่แล้วลงทะเบียนที่นี่ (workspace_google.go:620)
  • เขียนผ่านเกตเวย์ได้เฉพาะ userLevel >= 9 (query.go:63, 362)

ความสัมพันธ์

data_database_name → ฐานบริษัท (erp_*, ic_*, gl_* ดู กลุ่มตาราง erp_* — ข้อมูลตั้งค่า/ข้อมูลหลักของบริษัท); ผู้ใช้ผ่าน sml_user_list — ผู้ใช้ล็อกอิน (Main Database ของ Tenant)

ลิงก์

กลุ่มตาราง sml_* — ตัวตน สิทธิ์ และตารางระบบ · สถาปัตยกรรม Hexagonal และ composition root ของ Go backend (Hexagonal Architecture + DI)