Files
lcbp3/specs/03-Data-and-Storage/README.md
T
admin 1a162bf320
CI / CD Pipeline / build (push) Successful in 4m54s
CI / CD Pipeline / deploy (push) Failing after 12m9s
feat(rfa-ai): Complete RFA Approval Refactor and AI Model Revision
2026-05-16 10:59:53 +07:00

6.7 KiB

Data and Storage Specifications

เอกสารและสคริปต์ที่เกี่ยวข้องกับการจัดการข้อมูลและการจัดเก็บสำหรับระบบ NAP-DMS (LCBP3)

📁 โครงสร้างไดเรกทอรี

Schema Files (สคริปต์ฐานข้อมูล)

ไฟล์ คำอธิบาย
lcbp3-v1.9.0-schema-01-drop.sql สคริปต์ลบตารางทั้งหมด (ใช้สำหรับ reset schema)
lcbp3-v1.9.0-schema-02-tables.sql สคริปต์สร้างตารางทั้งหมด (CREATE TABLE)
lcbp3-v1.9.0-schema-03-views-indexes.sql สคริปต์สร้าง Views และ Indexes
lcbp3-v1.9.0-migration.sql สคริปต์ migration สำหรับการอัปเกรดจากเวอร์ชันก่อนหน้า
lcbp3-v1.9.0-rfa-approval-schema.sql Schema เฉพาะสำหรับระบบ RFA Approval System

Seed Files (ข้อมูลเริ่มต้น)

ไฟล์ คำอธิบาย
lcbp3-v1.9.0-seed-basic.sql ข้อมูลเริ่มต้นพื้นฐาน (Organizations, Users, Roles, Permissions)
lcbp3-v1.9.0-seed-permissions.sql ข้อมูล RBAC Permissions ตาม ADR-016
lcbp3-v1.9.0-seed-contractdrawing.sql ข้อมูล Contract Drawings ตัวอย่าง
lcbp3-v1.9.0-seed-shopdrawing.sql ข้อมูล Shop Drawings ตัวอย่าง

Delta Files (การเปลี่ยนแปลง Schema แบบ Incremental)

ตั้งอยู่ใน deltas/ - เก็บ SQL delta สำหรับการเปลี่ยนแปลง schema ตาม ADR-009 (ไม่ใช้ TypeORM migrations)

ไฟล์ คำอธิบาย
12-unified-ai-architecture.sql เพิ่มตาราง AI: migration_review_queue, ai_audit_logs (ADR-023)
14-add-migration-review-queue.sql เพิ่มคอลัมน์ใหม่ใน migration_review_queue (ADR-023A)
15-add-ai-processing-status.sql เพิ่ม ai_processing_status ใน attachments (ADR-023A)

Documentation

ไฟล์ คำอธิบาย
0.md ภาพรวมและแนวทางการจัดการข้อมูล
03-01-data-dictionary.md Data Dictionary คำอธิบายฟิลด์ทั้งหมด
03-02-db-indexing.md กลยุทธ์การสร้าง Indexes
03-03-file-storage.md กลยุทธ์การจัดเก็บไฟล์ (Two-Phase Upload)
03-04-legacy-data-migration.md แผนการนำเข้าข้อมูลเก่า (Legacy Migration)
03-05-n8n-migration-setup-guide.md คู่มือติดตั้ง n8n สำหรับ Migration Phase
03-06-migration-business-scope.md ขอบเขตการทำ Migration ตาม ADR-009
03-07-OpenRAG.md เอกสาร RAG Implementation Guide

Configuration Files

ไฟล์ คำอธิบาย
n8n.workflow.json Workflow n8n สำหรับ Legacy Document Migration
permissions-verification.sql สคริปต์ตรวจสอบ Permissions ที่กำหนดไว้

🚀 การใช้งาน

การ Setup ฐานข้อมูลใหม่ (Fresh Install)

# 1. ลบตารางทั้งหมด (ถ้ามี)
mysql < lcbp3-v1.9.0-schema-01-drop.sql

# 2. สร้างตารางทั้งหมด
mysql < lcbp3-v1.9.0-schema-02-tables.sql

# 3. สร้าง Views และ Indexes
mysql < lcbp3-v1.9.0-schema-03-views-indexes.sql

# 4. เพิ่มข้อมูลเริ่มต้นพื้นฐาน
mysql < lcbp3-v1.9.0-seed-basic.sql

# 5. เพิ่ม Permissions
mysql < lcbp3-v1.9.0-seed-permissions.sql

# 6. เพิ่มข้อมูลตัวอย่าง (Optional)
mysql < lcbp3-v1.9.0-seed-contractdrawing.sql
mysql < lcbp3-v1.9.0-seed-shopdrawing.sql

การอัปเกรดจากเวอร์ชันก่อนหน้า

# รัน migration script
mysql < lcbp3-v1.9.0-migration.sql

# รัน delta files ที่ยังไม่ได้ใช้ (ตามลำดับเลข)
mysql < deltas/12-unified-ai-architecture.sql
mysql < deltas/14-add-migration-review-queue.sql
mysql < deltas/15-add-ai-processing-status.sql

🔗 เอกสารที่เกี่ยวข้อง

ADRs (Architecture Decision Records)

  • ADR-009: Database Migration Strategy - ใช้ SQL delta โดยตรง ห้ามใช้ TypeORM migrations
  • ADR-016: Security & Authentication - RBAC Matrix
  • ADR-019: Hybrid Identifier Strategy - UUID Strategy
  • ADR-023: Unified AI Architecture - สถาปัตยกรรม AI หลัก
  • ADR-023A: Unified AI Architecture (Model Revision) - อัปเดตโมเดล AI

Engineering Guidelines

  • specs/05-Engineering-Guidelines/05-02-backend-guidelines.md - Backend patterns
  • specs/05-Engineering-Guidelines/05-03-frontend-guidelines.md - Frontend patterns

⚠️ ข้อควรระวัง

  1. ADR-009: ห้ามใช้ TypeORM migrations - ต้องแก้ SQL schema โดยตรงและสร้าง delta file
  2. UUID Handling: ใช้ UUIDv7 (MariaDB native) ตาม ADR-019 - ห้ามใช้ parseInt() บน UUID
  3. AI Boundary: ตาราง AI (migration_review_queue, ai_audit_logs) ต้องถูกจัดการผ่าน DMS API เท่านั้น (ADR-023)
  4. File Upload: ต้องใช้ Two-Phase Storage (Temp → Commit) ตาม ADR-016
  5. Schema Changes: ทุกการเปลี่ยนแปลงต้องอัปเดต Data Dictionary พร้อมกัน

📝 Change Log

  • 2026-05-15: เพิ่ม AI-related tables (migration_review_queue, ai_audit_logs) และ ai_processing_status column ตาม ADR-023A
  • 2026-05-14: อัปเดต schema เป็น v1.9.0 เพื่อรองรับ RFA Approval System และ Unified AI Architecture

👥 ผู้รับผิดชอบ

  • Database Schema: System Architect
  • Data Dictionary: Business Analyst
  • Migration Scripts: Backend Team
  • AI Integration: AI Integration Lead