260304:1716 20260304:1700 update n8n
All checks were successful
Build and Deploy / deploy (push) Successful in 1m33s
All checks were successful
Build and Deploy / deploy (push) Successful in 1m33s
This commit is contained in:
109
specs/03-Data-and-Storage/lcbp3-v1.8.0-migration.sql
Normal file
109
specs/03-Data-and-Storage/lcbp3-v1.8.0-migration.sql
Normal file
@@ -0,0 +1,109 @@
|
||||
-- ==========================================================
|
||||
-- DMS v1.8.0 Migration Support Tables
|
||||
-- ไฟล์นี้แยกจาก schema หลัก (lcbp3-v1.8.0-schema-01/02/03)
|
||||
-- ใช้สำหรับ n8n Migration Workflow เท่านั้น
|
||||
-- ลบได้ทั้งหมดหลัง Migration เสร็จสิ้น
|
||||
-- ==========================================================
|
||||
-- รันบน MariaDB **ก่อน** เริ่ม n8n Workflow
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. Checkpoint — ติดตามความคืบหน้าของ Batch
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS migration_progress (
|
||||
batch_id VARCHAR(50) PRIMARY KEY,
|
||||
last_processed_index INT DEFAULT 0,
|
||||
STATUS ENUM('RUNNING', 'COMPLETED', 'FAILED') DEFAULT 'RUNNING',
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Migration: ติดตามความคืบหน้า Batch (ลบได้หลัง Migration เสร็จ)';
|
||||
|
||||
-- =====================================================
|
||||
-- 2. Review Queue — รายการที่ต้องตรวจสอบโดยคน
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS migration_review_queue (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
document_number VARCHAR(100) NOT NULL,
|
||||
title TEXT,
|
||||
original_title TEXT,
|
||||
ai_suggested_category VARCHAR(50),
|
||||
ai_confidence DECIMAL(4, 3),
|
||||
ai_issues JSON,
|
||||
review_reason VARCHAR(255),
|
||||
STATUS ENUM('PENDING', 'APPROVED', 'REJECTED') DEFAULT 'PENDING',
|
||||
reviewed_by VARCHAR(100),
|
||||
reviewed_at TIMESTAMP NULL,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uq_doc_number (document_number)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Migration: Review Queue ชั่วคราว (ลบได้หลัง Migration เสร็จ)';
|
||||
|
||||
-- =====================================================
|
||||
-- 3. Error Log — บันทึก Error ระหว่าง Migration
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS migration_errors (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
batch_id VARCHAR(50),
|
||||
document_number VARCHAR(100),
|
||||
error_type ENUM(
|
||||
'FILE_NOT_FOUND',
|
||||
'AI_PARSE_ERROR',
|
||||
'API_ERROR',
|
||||
'DB_ERROR',
|
||||
'SECURITY',
|
||||
'UNKNOWN'
|
||||
),
|
||||
error_message TEXT,
|
||||
raw_ai_response TEXT,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX idx_batch_id (batch_id),
|
||||
INDEX idx_error_type (error_type)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Migration: Error Log (ลบได้หลัง Migration เสร็จ)';
|
||||
|
||||
-- =====================================================
|
||||
-- 4. Fallback State — สถานะ AI Model Fallback
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS migration_fallback_state (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
batch_id VARCHAR(50) UNIQUE,
|
||||
recent_error_count INT DEFAULT 0,
|
||||
is_fallback_active BOOLEAN DEFAULT FALSE,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Migration: Fallback Model State (ลบได้หลัง Migration เสร็จ)';
|
||||
|
||||
-- =====================================================
|
||||
-- 5. Idempotency — ป้องกัน Import ซ้ำ
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS import_transactions (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
idempotency_key VARCHAR(255) UNIQUE NOT NULL,
|
||||
document_number VARCHAR(100),
|
||||
batch_id VARCHAR(100),
|
||||
status_code INT DEFAULT 201,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
INDEX idx_idem_key (idempotency_key)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Migration: Idempotency Tracking (ลบได้หลัง Migration เสร็จ)';
|
||||
|
||||
-- =====================================================
|
||||
-- 6. Daily Summary — สรุปผลรายวัน
|
||||
-- =====================================================
|
||||
CREATE TABLE IF NOT EXISTS migration_daily_summary (
|
||||
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
batch_id VARCHAR(50),
|
||||
summary_date DATE,
|
||||
total_processed INT DEFAULT 0,
|
||||
auto_ingested INT DEFAULT 0,
|
||||
sent_to_review INT DEFAULT 0,
|
||||
rejected INT DEFAULT 0,
|
||||
errors INT DEFAULT 0,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE KEY uq_batch_date (batch_id, summary_date)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'Migration: Daily Summary (ลบได้หลัง Migration เสร็จ)';
|
||||
|
||||
-- =====================================================
|
||||
-- Cleanup Script (รันหลัง Migration เสร็จสิ้นทั้งหมด)
|
||||
-- =====================================================
|
||||
-- DROP TABLE IF EXISTS migration_daily_summary;
|
||||
-- DROP TABLE IF EXISTS import_transactions;
|
||||
-- DROP TABLE IF EXISTS migration_fallback_state;
|
||||
-- DROP TABLE IF EXISTS migration_errors;
|
||||
-- DROP TABLE IF EXISTS migration_review_queue;
|
||||
-- DROP TABLE IF EXISTS migration_progress;
|
||||
Reference in New Issue
Block a user