ซิงก์ข้อมูลจาก BigQuery
รายละเอียดคอลัมน์ของตาราง bigquery_sync_config
ภาพรวม
Domain นี้มี 1 ตารางคือ bigquery_sync_config ใน schema public (จัดการด้วย Prisma)
เก็บการตั้งค่าการดึงข้อมูลสรุปลูกค้าจาก Google BigQuery มาลงระบบตามตาราง cron ที่กำหนด
รวมถึง service-account credentials, การ map ฟิลด์ และผลลัพธ์การซิงก์ครั้งล่าสุด
ตาราง bigquery_sync_config
| Column | Type | Nullable | Default | คำอธิบาย |
|---|---|---|---|---|
id | SERIAL | NO | auto increment | Primary key |
line_oa_id | INTEGER | NO | - | LINE OA ที่ config นี้สังกัด |
organization_id | INTEGER | NO | - | องค์กรเจ้าของข้อมูล (ใช้แยก tenant) |
project_id | VARCHAR(255) | NO | '' | Google Cloud project id ที่เก็บ BigQuery dataset |
summary_table | VARCHAR(500) | NO | '' | ชื่อตาราง BigQuery ต้นทางที่อ่านข้อมูลสรุป |
user_id_column | VARCHAR(100) | NO | 'user_id' | ชื่อคอลัมน์ฝั่ง BigQuery ที่ใช้จับคู่กับผู้ใช้ LINE |
credentials | TEXT | YES | - | Service account credentials (JSON) สำหรับเข้าถึง BigQuery |
sync_cron | VARCHAR(100) | NO | '0 6 * * *' | ตาราง cron ของรอบซิงก์ (ค่าเริ่มต้นคือ 06:00 ทุกวัน) |
field_mappings | JSONB | NO | '[]' | รายการ map คอลัมน์ BigQuery ไปยัง attribute ของผู้ใช้ |
enabled | BOOLEAN | NO | false | เปิด/ปิดการซิงก์อัตโนมัติ |
last_sync_at | TIMESTAMP(3) | YES | - | เวลาที่ซิงก์สำเร็จครั้งล่าสุด |
last_sync_result | JSONB | YES | - | ผลลัพธ์การซิงก์ครั้งล่าสุด เช่น จำนวนแถว/ข้อความ error |
status | VARCHAR(20) | NO | 'active' | สถานะของเรกคอร์ด config |
created_by | INTEGER | YES | - | ผู้สร้างเรกคอร์ด |
updated_by | INTEGER | YES | - | ผู้แก้ไขล่าสุด |
created_date | TIMESTAMP(3) | YES | now() | วันเวลาที่สร้าง |
updated_date | TIMESTAMP(3) | YES | now() | วันเวลาที่แก้ไขล่าสุด |
deleted_date | TIMESTAMP(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