216 lines
7.4 KiB
SQL
216 lines
7.4 KiB
SQL
-- ==========================================================
|
|
-- DMS v1.8.0 Schema Part 1/3: DROP Statements
|
|
-- รันไฟล์นี้ก่อน เพื่อล้างตารางเดิมทั้งหมด
|
|
-- ==========================================================
|
|
-- ==========================================================
|
|
-- DMS v1.8.0 Document Management System Database
|
|
-- Deploy Script Schema
|
|
-- Server: Container Station on QNAP TS-473A
|
|
-- Database service: MariaDB 11.8
|
|
-- database web ui: phpmyadmin 5-apache
|
|
-- database development ui: DBeaver
|
|
-- backend service: NestJS
|
|
-- frontend service: next.js
|
|
-- reverse proxy: jc21/nginx-proxy-manager:latest
|
|
-- cron service: n8n
|
|
-- ==========================================================
|
|
-- [v1.8.0 UPDATE] Prepare migration
|
|
-- Update: Upgraded from v1.7.0
|
|
-- Last Updated: 2026-02-27
|
|
-- Major Changes:
|
|
-- 1. ปรับปรุง:
|
|
-- 1.1 TABLE correspondences
|
|
-- - INDEX idx_doc_number (correspondence_number),
|
|
-- - INDEX idx_deleted_at (deleted_at),
|
|
-- - INDEX idx_created_by (created_by),
|
|
-- ==========================================================
|
|
SET NAMES utf8mb4;
|
|
|
|
SET time_zone = '+07:00';
|
|
|
|
-- ปิดการตรวจสอบ Foreign Key ชั่วคราวเพื่อให้สามารถลบตารางได้ทั้งหมด
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
DROP VIEW IF EXISTS v_document_statistics;
|
|
|
|
DROP VIEW IF EXISTS v_documents_with_attachments;
|
|
|
|
DROP VIEW IF EXISTS v_user_all_permissions;
|
|
|
|
DROP VIEW IF EXISTS v_audit_log_details;
|
|
|
|
DROP VIEW IF EXISTS v_user_tasks;
|
|
|
|
DROP VIEW IF EXISTS v_contract_parties_all;
|
|
|
|
DROP VIEW IF EXISTS v_current_rfas;
|
|
|
|
DROP VIEW IF EXISTS v_current_correspondences;
|
|
|
|
-- DROP PROCEDURE IF EXISTS sp_get_next_document_number;
|
|
-- 🗑️ DROP TABLE SCRIPT: LCBP3-DMS v1.4.2
|
|
-- คำเตือน: ข้อมูลทั้งหมดจะหายไป กรุณา Backup ก่อนรันบน Production
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
-- ============================================================
|
|
-- ส่วนที่ 1: ตาราง System, Logs & Preferences (ตารางปลายทาง/ส่วนเสริม)
|
|
-- ============================================================
|
|
DROP TABLE IF EXISTS backup_logs;
|
|
|
|
DROP TABLE IF EXISTS search_indices;
|
|
|
|
DROP TABLE IF EXISTS notifications;
|
|
|
|
DROP TABLE IF EXISTS audit_logs;
|
|
|
|
-- [NEW v1.4.2] ตารางการตั้งค่าส่วนตัวของผู้ใช้ (FK -> users)
|
|
DROP TABLE IF EXISTS user_preferences;
|
|
|
|
-- [NEW v1.4.2] ตารางเก็บ Schema สำหรับ Validate JSON (Stand-alone)
|
|
DROP TABLE IF EXISTS json_schemas;
|
|
|
|
-- [v1.5.1 NEW] ตาราง Audit และ Error Log สำหรับ Document Numbering
|
|
DROP TABLE IF EXISTS document_number_errors;
|
|
|
|
DROP TABLE IF EXISTS document_number_audit;
|
|
|
|
DROP TABLE IF EXISTS document_number_reservations;
|
|
|
|
-- ============================================================
|
|
-- ส่วนที่ 2: ตาราง Junction (เชื่อมโยงข้อมูล M:N)
|
|
-- ============================================================
|
|
DROP TABLE IF EXISTS correspondence_tags;
|
|
|
|
DROP TABLE IF EXISTS asbuilt_revision_shop_revisions_refs;
|
|
|
|
DROP TABLE IF EXISTS shop_drawing_revision_contract_refs;
|
|
|
|
DROP TABLE IF EXISTS contract_drawing_subcat_cat_maps;
|
|
|
|
-- ============================================================
|
|
-- ส่วนที่ 3: ตารางไฟล์แนบและการเชื่อมโยง (Attachments)
|
|
-- ============================================================
|
|
DROP TABLE IF EXISTS contract_drawing_attachments;
|
|
|
|
DROP TABLE IF EXISTS circulation_attachments;
|
|
|
|
DROP TABLE IF EXISTS shop_drawing_revision_attachments;
|
|
|
|
DROP TABLE IF EXISTS asbuilt_drawing_revision_attachments;
|
|
|
|
DROP TABLE IF EXISTS correspondence_attachments;
|
|
|
|
DROP TABLE IF EXISTS attachments;
|
|
|
|
-- ตารางหลักเก็บ path ไฟล์
|
|
-- ============================================================
|
|
-- ส่วนที่ 4: ตาราง Workflow & Routing (Process Logic)
|
|
-- ============================================================
|
|
-- Correspondence Workflow
|
|
-- ============================================================
|
|
-- ส่วนที่ 5: ตาราง Mapping สิทธิ์และโครงสร้าง (Access Control)
|
|
-- ============================================================
|
|
DROP TABLE IF EXISTS role_permissions;
|
|
|
|
DROP TABLE IF EXISTS user_assignments;
|
|
|
|
DROP TABLE IF EXISTS contract_organizations;
|
|
|
|
DROP TABLE IF EXISTS project_organizations;
|
|
|
|
-- ============================================================
|
|
-- ส่วนที่ 6: ตารางรายละเอียดของเอกสาร (Revisions & Items)
|
|
-- ============================================================
|
|
DROP TABLE IF EXISTS transmittal_items;
|
|
|
|
DROP TABLE IF EXISTS shop_drawing_revisions;
|
|
|
|
DROP TABLE IF EXISTS asbuilt_drawing_revisions;
|
|
|
|
DROP TABLE IF EXISTS rfa_items;
|
|
|
|
DROP TABLE IF EXISTS rfa_revisions;
|
|
|
|
DROP TABLE IF EXISTS correspondence_references;
|
|
|
|
DROP TABLE IF EXISTS correspondence_recipients;
|
|
|
|
DROP TABLE IF EXISTS correspondence_revisions;
|
|
|
|
-- [Modified v1.4.2] มี Virtual Columns
|
|
-- ============================================================
|
|
-- ส่วนที่ 7: ตารางเอกสารหลัก (Core Documents)
|
|
-- ============================================================
|
|
DROP TABLE IF EXISTS circulations;
|
|
|
|
DROP TABLE IF EXISTS transmittals;
|
|
|
|
DROP TABLE IF EXISTS contract_drawings;
|
|
|
|
DROP TABLE IF EXISTS shop_drawings;
|
|
|
|
DROP TABLE IF EXISTS asbuilt_drawings;
|
|
|
|
DROP TABLE IF EXISTS rfas;
|
|
|
|
DROP TABLE IF EXISTS correspondences;
|
|
|
|
-- ============================================================
|
|
-- ส่วนที่ 8: ตารางหมวดหมู่และข้อมูลหลัก (Master Data)
|
|
-- ============================================================
|
|
-- [NEW 6B] ลบตารางใหม่ที่เพิ่มเข้ามาเพื่อป้องกัน Error เวลา Re-deploy
|
|
DROP TABLE IF EXISTS correspondence_sub_types;
|
|
|
|
DROP TABLE IF EXISTS disciplines;
|
|
|
|
DROP TABLE IF EXISTS shop_drawing_sub_categories;
|
|
|
|
DROP TABLE IF EXISTS shop_drawing_main_categories;
|
|
|
|
DROP TABLE IF EXISTS contract_drawing_sub_cats;
|
|
|
|
DROP TABLE IF EXISTS contract_drawing_cats;
|
|
|
|
DROP TABLE IF EXISTS contract_drawing_volumes;
|
|
|
|
DROP TABLE IF EXISTS circulation_status_codes;
|
|
|
|
DROP TABLE IF EXISTS rfa_approve_codes;
|
|
|
|
DROP TABLE IF EXISTS rfa_status_codes;
|
|
|
|
DROP TABLE IF EXISTS rfa_types;
|
|
|
|
DROP TABLE IF EXISTS correspondence_status;
|
|
|
|
DROP TABLE IF EXISTS correspondence_types;
|
|
|
|
DROP TABLE IF EXISTS document_number_counters;
|
|
|
|
-- [Modified v1.4.2] มี version column
|
|
DROP TABLE IF EXISTS document_number_formats;
|
|
|
|
DROP TABLE IF EXISTS tags;
|
|
|
|
-- ============================================================
|
|
-- ส่วนที่ 9: ตารางผู้ใช้ บทบาท และโครงสร้างรากฐาน (Root Tables)
|
|
-- ============================================================
|
|
DROP TABLE IF EXISTS organization_roles;
|
|
|
|
DROP TABLE IF EXISTS roles;
|
|
|
|
DROP TABLE IF EXISTS permissions;
|
|
|
|
DROP TABLE IF EXISTS contracts;
|
|
|
|
DROP TABLE IF EXISTS projects;
|
|
|
|
DROP TABLE IF EXISTS refresh_tokens;
|
|
|
|
DROP TABLE IF EXISTS users;
|
|
|
|
-- Referenced by user_preferences, audit_logs, etc.
|
|
DROP TABLE IF EXISTS organizations;
|
|
|
|
-- Referenced by users, projects, etc.
|