feat(ai): add system settings schema delta and resilience fallback try-catch
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
-- Delta Rollback: ลบตาราง system_settings
|
||||
-- Date: 2026-05-22
|
||||
-- Related ADR: ADR-027
|
||||
-- Applied in: v1.9.0 -> v1.9.5
|
||||
|
||||
-- ------------------------------------------------------------
|
||||
-- การย้อนกลับโครงสร้างฐานข้อมูล (Rollback changes)
|
||||
-- ------------------------------------------------------------
|
||||
|
||||
DROP TABLE IF EXISTS system_settings;
|
||||
@@ -0,0 +1,48 @@
|
||||
-- Delta: สร้างตาราง system_settings และ Seed ข้อมูล AI_FEATURES_ENABLED
|
||||
-- Date: 2026-05-22
|
||||
-- Related ADR: ADR-027
|
||||
-- Applied in: v1.9.0 -> v1.9.5
|
||||
|
||||
-- ------------------------------------------------------------
|
||||
-- การเปลี่ยนแปลงโครงสร้างฐานข้อมูล (Schema changes)
|
||||
-- ------------------------------------------------------------
|
||||
|
||||
CREATE TABLE IF NOT EXISTS system_settings (
|
||||
id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ID ของตาราง',
|
||||
setting_key VARCHAR(100) NOT NULL UNIQUE COMMENT 'คีย์การตั้งค่าระบบ',
|
||||
setting_value TEXT NOT NULL COMMENT 'ค่าที่บันทึก (stringified)',
|
||||
data_type ENUM('string', 'number', 'boolean', 'json') NOT NULL DEFAULT 'string' COMMENT 'ประเภทข้อมูลสำหรับ validation',
|
||||
category VARCHAR(50) COMMENT 'หมวดหมู่',
|
||||
is_encrypted TINYINT(1) DEFAULT 0 COMMENT 'เข้ารหัสค่า sensitive',
|
||||
validation_rules JSON COMMENT 'กฎ validation',
|
||||
description TEXT COMMENT 'คำอธิบายข้อมูลการตั้งค่า',
|
||||
is_public TINYINT(1) DEFAULT 0 COMMENT 'เผยแพร่ให้ frontend อ่านได้หรือ admin only',
|
||||
updated_by INT COMMENT 'ผู้แก้ไขล่าสุด',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (updated_by) REFERENCES users(user_id) ON DELETE SET NULL,
|
||||
INDEX idx_system_settings_category (category),
|
||||
INDEX idx_system_settings_is_public (is_public)
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'ตารางเก็บข้อมูลการตั้งค่าระบบไดนามิก';
|
||||
|
||||
-- ------------------------------------------------------------
|
||||
-- การเพิ่มข้อมูลพื้นฐาน (Seed Data)
|
||||
-- ------------------------------------------------------------
|
||||
|
||||
INSERT INTO system_settings (
|
||||
setting_key,
|
||||
setting_value,
|
||||
data_type,
|
||||
category,
|
||||
description,
|
||||
is_public
|
||||
)
|
||||
VALUES (
|
||||
'AI_FEATURES_ENABLED',
|
||||
'true',
|
||||
'boolean',
|
||||
'ai',
|
||||
'สถานะเปิด/ปิดการใช้งานฟีเจอร์ AI ทั้งระบบ สำหรับผู้ใช้ทั่วไป',
|
||||
1
|
||||
)
|
||||
ON DUPLICATE KEY UPDATE setting_key = setting_key;
|
||||
Reference in New Issue
Block a user