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)
การอัปเกรดจากเวอร์ชันก่อนหน้า
🔗 เอกสารที่เกี่ยวข้อง
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
⚠️ ข้อควรระวัง
- ADR-009: ห้ามใช้ TypeORM migrations - ต้องแก้ SQL schema โดยตรงและสร้าง delta file
- UUID Handling: ใช้ UUIDv7 (MariaDB native) ตาม ADR-019 - ห้ามใช้
parseInt() บน UUID
- AI Boundary: ตาราง AI (migration_review_queue, ai_audit_logs) ต้องถูกจัดการผ่าน DMS API เท่านั้น (ADR-023)
- File Upload: ต้องใช้ Two-Phase Storage (Temp → Commit) ตาม ADR-016
- 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