Skip to main content

ซิงก์ข้อมูลจาก BigQuery

รายละเอียดคอลัมน์ของตาราง bigquery_sync_config

ภาพรวม

Domain นี้มี 1 ตารางคือ bigquery_sync_config ใน schema public (จัดการด้วย Prisma) เก็บการตั้งค่าการดึงข้อมูลสรุปลูกค้าจาก Google BigQuery มาลงระบบตามตาราง cron ที่กำหนด รวมถึง service-account credentials, การ map ฟิลด์ และผลลัพธ์การซิงก์ครั้งล่าสุด

ตาราง bigquery_sync_config

ColumnTypeNullableDefaultคำอธิบาย
idSERIALNOauto incrementPrimary key
line_oa_idINTEGERNO-LINE OA ที่ config นี้สังกัด
organization_idINTEGERNO-องค์กรเจ้าของข้อมูล (ใช้แยก tenant)
project_idVARCHAR(255)NO''Google Cloud project id ที่เก็บ BigQuery dataset
summary_tableVARCHAR(500)NO''ชื่อตาราง BigQuery ต้นทางที่อ่านข้อมูลสรุป
user_id_columnVARCHAR(100)NO'user_id'ชื่อคอลัมน์ฝั่ง BigQuery ที่ใช้จับคู่กับผู้ใช้ LINE
credentialsTEXTYES-Service account credentials (JSON) สำหรับเข้าถึง BigQuery
sync_cronVARCHAR(100)NO'0 6 * * *'ตาราง cron ของรอบซิงก์ (ค่าเริ่มต้นคือ 06:00 ทุกวัน)
field_mappingsJSONBNO'[]'รายการ map คอลัมน์ BigQuery ไปยัง attribute ของผู้ใช้
enabledBOOLEANNOfalseเปิด/ปิดการซิงก์อัตโนมัติ
last_sync_atTIMESTAMP(3)YES-เวลาที่ซิงก์สำเร็จครั้งล่าสุด
last_sync_resultJSONBYES-ผลลัพธ์การซิงก์ครั้งล่าสุด เช่น จำนวนแถว/ข้อความ error
statusVARCHAR(20)NO'active'สถานะของเรกคอร์ด config
created_byINTEGERYES-ผู้สร้างเรกคอร์ด
updated_byINTEGERYES-ผู้แก้ไขล่าสุด
created_dateTIMESTAMP(3)YESnow()วันเวลาที่สร้าง
updated_dateTIMESTAMP(3)YESnow()วันเวลาที่แก้ไขล่าสุด
deleted_dateTIMESTAMP(3)YES-วันเวลาที่ soft delete

หมายเหตุ

  • Unique: uq_bigquery_sync_config_org_lineoa บน (organization_id, line_oa_id) — หนึ่ง LINE OA ตั้งค่าการซิงก์ BigQuery ได้เพียงชุดเดียว
  • Index: idx_bigquery_sync_config_org_lineoa บน (organization_id, line_oa_id)
  • enabled แยกจาก status โดยตั้งใจ — status คือสถานะของเรกคอร์ด config ส่วน enabled คือสวิตช์เปิด/ปิด scheduler จึงปิดการซิงก์ชั่วคราวได้โดยไม่ต้องลบ config ทิ้ง
  • ตารางนี้ไม่มี FK ระดับฐานข้อมูล — line_oa_id / organization_id เป็นการอ้างอิงเชิงตรรกะ ไปยัง line_oa และ organization