S4 — ฐานข้อมูล MySQL (Online Mediation / Webex / eSign) — current state¶
ฐานข้อมูลที่ 2 ของ S4 — แยกจาก MSSQL MEDIATE
ระบบ eMediation V2 (emediations.rlpd.go.th, เครื่อง 10.136.27.87) เป็น dual-DB: นอกจาก MSSQL MEDIATE (index, 95 ตาราง) ยังมี MySQL mediation@localhost:3306 (Sequelize) เก็บ subsystem ไกล่เกลี่ยออนไลน์ (Webex) + ยืนยันตัวตน eKYC + ลงนาม eSign ที่ Webify เพิ่มในเฟส 1 · backend เข้าถึงผ่าน API /model/:model/* (modelController.js) · ยังใช้งานจริง (ตรวจ 2026-06-17: signs/signatures มีข้อมูลเขียนวันนี้) และ ยังไม่ถูก migrate เข้า PSDBPRDDB · เป้าหมาย V3 (Phase 2) จะรวมเข้า MEDIATE — ดู design DELTA §A9
ภาพรวม¶
| Metric | Value |
|---|---|
| Engine / DB | MySQL · mediation |
| Host | 10.136.27.87:3306 (localhost บนเครื่อง V2) |
| ORM | Sequelize (models/*.js, timestamps createdAt/updatedAt) |
| API | /api/model/:model/{get,getall,find,findAll,create,update,delete} |
| Tables | 21 |
| Explicit FK | 0 (เชื่อมด้วย meeting_id/request_id/idcard แบบ string) |
| สถานะ | live — ยังไม่ migrate เข้า single DB |
การเชื่อมกับ MSSQL MEDIATE
request_id ในตารางเหล่านี้ = อ้างถึงเคสไกล่เกลี่ย (cms_mediation) ฝั่ง MSSQL · MSSQL ก็มี
cms_mediation_booking_online (14 คอลัมน์) อยู่แล้ว — ตอนรวม V3 ต้อง reconcile กับตารางกลุ่มนี้
สถานะการใช้งานจริง (row count + ความสด — probe 2026-06-17)¶
| สถานะ | ตาราง | rows | ล่าสุด | หมายเหตุ |
|---|---|---|---|---|
| 🟢 ใช้งานจริง | signs |
2,684 | 2026-06-17 | สถานะการลงนาม eSign (เขียนวันนี้) |
| 🟢 ใช้งานจริง | signatures |
1,442 | 2026-06-17 | ภาพลายเซ็น (longblob) eSign |
| 🟢 ใช้งานจริง | meetingAttendances |
1,677 | 2026-04-08 | ผู้เข้าร่วม + eKYC (ekyc_id/verify_status) |
| 🟢 ใช้งานจริง | meetings |
291 | 2026-04-08 | ห้องไกล่เกลี่ยออนไลน์ (Webex) |
| 🟢 ใช้งาน | images |
543 | 2023-01 | ไฟล์ภาพ (longblob) |
| 🟢 ใช้งาน | users |
121 | 2025-05 | ผู้ใช้ฝั่ง V2 (LDAP dn + password) |
| 🟢 ใช้งาน | loginLogs |
276 | 2025-06 | log การเข้าระบบ |
| 🟡 ลุคอัพ/น้อย | meetingCategories |
2 | — | หมวดการประชุม |
| 🟡 ลุคอัพ/น้อย | mediationSettings |
1 | 2022-09 | mediator_fee |
| 🟡 ลุคอัพ/น้อย | webex_auths |
1 | 2023-04 | Webex OAuth token (refresh ใช้ต่อ) |
| 🟡 เก่า | meeting_memos / memo_users |
6 / 12 | 2022-12 | บันทึกข้อตกลง (เลิกใช้?) |
| ⚪ ว่าง/ทิ้งร้าง | meetingReports meetingReportContents internalMeetings |
0 | — | ไม่ถูกใช้ |
| ⚪ demo/ทิ้งร้าง | exams questions courses trainings trainingAttendances registers |
1–13 | 2022-10 | เครื่องยนต์ข้อสอบ/อบรมออนไลน์ — เกือบไม่มีข้อมูล (V3 สร้างใหม่ตาม SRS ไม่ใช่ migrate) |
สรุป: ที่ ต้องยกเข้า V3 จริง ๆ คือกลุ่ม 🟢 (online mediation + eSign + eKYC) · กลุ่ม ⚪ exam/training เป็น stub — สร้างใหม่ตาม mockup/SRS
Data Dictionary (ตามโครงจริงจาก DESCRIBE)¶
meetings — ห้องไกล่เกลี่ยออนไลน์ (Webex) 🟢¶
| Column | Type | Note |
|---|---|---|
| id | bigint PK | |
| meeting_id / request_id | varchar(255) | รหัสห้อง / อ้าง cms_mediation |
| link_url | text | ลิงก์ห้อง |
| category / subject / result | varchar / text | หมวด/หัวข้อ/ผล |
| start_date / end_date | varchar(255) | (เก็บเป็น string) |
| start_time / end_time | time | |
| meeting_status / mediation_final_status | varchar(255) | สถานะ/ผลไกล่เกลี่ย |
| webex_meeting_id / number / password / host_id / host_email / type | varchar(255) | Webex meta (🔒 password) |
| remark | text | |
| createdAt / updatedAt | timestamp |
meetingAttendances — ผู้เข้าร่วม + eKYC 🟢¶
| Column | Type | Note |
|---|---|---|
| id | int PK | |
| meeting_id / request_id | varchar(255) | อ้างห้อง/เคส |
| attendee_id / attendee_prefix / attendee_firstname / attendee_lastname | varchar(255) | 🔒 ชื่อผู้เข้าร่วม |
| attendee_phone / attendee_type | varchar(255) | เบอร์ / ประเภท (คู่กรณี/ผู้ไกล่เกลี่ย/พยาน) |
| attendance_date / attendance_time | varchar(255) | |
| verify_status / ekyc_id | varchar(255) | 🔒 สถานะ/รหัสยืนยันตัวตน (eKYC/ThaID) |
| attendee_address / street / sub_district / district / province / zipcode | varchar(255) | ที่อยู่ |
| createdAt / updatedAt | timestamp |
signatures — ภาพลายเซ็น eSign 🟢¶
| Column | Type | Note |
|---|---|---|
| id | int PK | |
| meeting_id / request_id | varchar(255) | อ้างห้อง/เคส |
| meetingAttendances_id | varchar(255) | อ้างผู้ลงนาม |
| attendee_type | varchar(255) | ประเภทผู้ลงนาม |
| idcard | varchar(13) | 🔒 เลขบัตร |
| data | longblob | 🔒 ภาพลายเซ็น |
| createdAt / updatedAt | timestamp |
signs — สถานะการลงนาม eSign 🟢¶
| Column | Type | Note |
|---|---|---|
| id | int PK | |
| meeting_id / request_id / meetingAttendances_id | varchar(255) | อ้างห้อง/เคส/ผู้ลงนาม |
| attendee_type / status | varchar(255) | ประเภท / ลงนามแล้ว-รอ |
| idcard | varchar(255) | 🔒 |
| createdAt / updatedAt | timestamp |
meeting_memos — บันทึกข้อตกลงออนไลน์ 🟡¶
| Column | Type | Note |
|---|---|---|
| id | int PK · memo_id / case_id | varchar(255) |
| mediation_center_type / name / category / subject | varchar(255) | |
| result / remark | text | |
| memo_date / memo_status / mediation_final_status | varchar(255) |
memo_users — คู่กรณีในบันทึกข้อตกลง 🟡¶
id, record_id, memo_id, type, prefix, fullname, firstname, lastname, idcard 🔒, phone, email, address, district, amphur, province, zipcode
meetingReports / meetingReportContents — รายงานไกล่เกลี่ย ⚪ (ว่าง)¶
meetingReports: meeting_id, mediation_center_name, mediation_date, mediation_requester_name, mediation_respondant_name, mediation_subject, requester_* (fullname/address/street/sub_district/district/province/zipcode) 🔒, respondant_* (เหมือนกัน) 🔒, content, remark, report_status · meetingReportContents: meeting_id, content_index, report_content
internalMeetings — ประชุมภายใน (Webex) ⚪ (ว่าง)¶
meeting_id PK, link_url, category, subject, start_date, end_date, start_time, end_time, remark, meeting_status, webex_* (id/number/password/host_id/host_email/type), webex_invitees
webex_auths — Webex OAuth token 🟡¶
id PK, access_token longtext 🔒, refresh_token longtext 🔒
meetingCategories — หมวดการประชุม 🟡¶
id PK, category_name, category_description, category_status
users — ผู้ใช้ฝั่ง V2 (LDAP) 🟢¶
id PK, username UNI, dn (LDAP), prefix, first_name, last_name, id_card_number 🔒, address/sub_district/district/province/zipcode, birth_date, gender, email, phone, company, department, position, password 🔒, user_status, consent_accept
loginLogs — log การเข้าระบบ 🟢¶
id PK, username, permission, login_status
images — ไฟล์ภาพ 🟢¶
id PK, type, name, description, category, created_by, modified_by, permission, hidden, data longblob
mediationSettings — ตั้งค่า 🟡¶
id PK, mediator_fee
Exam / Training engine ⚪ (demo/stub — ~1–13 rows, last 2022; V3 สร้างใหม่ตาม SRS)¶
exams:id, exam_name, exam_description, exam_category, exam_total_point, exam_pass_point, exam_status(1 row)questions:id, exam_id, question, choice1–4, answer, point(4 rows)courses:id, name, description, category, ...(1 row)trainings:id, name, description, start/end_date, start/end_time, capacity, event_status, link_url, webex_* , invitees, exam_id(13 rows, 2022)trainingAttendances:regis_id, training_id, user_id, attendee_name, stamp_date, sign_in_time, sign_out_time(4 rows)registers:regis_id PK, user_id, training_id, point(2 rows)