-- ============================================
-- PROD sys_file 表结构迁移
-- 旧结构 → 新结构（文件二进制存入数据库）
-- 执行前请确认 sys_file 表数据已备份（如有）
-- ============================================

USE mokeegateway;

-- 1. 检查当前表结构
-- SELECT COUNT(*) FROM sys_file;  -- 如有数据请先备份

-- 2. 重建 sys_file 表（数据为空则直接重建）
DROP TABLE IF EXISTS sys_file;

CREATE TABLE sys_file (
    id VARCHAR(64) NOT NULL COMMENT 'UUID主键',
    system_id VARCHAR(64) DEFAULT NULL COMMENT '所属系统ID',
    file_name VARCHAR(256) NOT NULL COMMENT '原始文件名',
    file_type VARCHAR(64) DEFAULT 'other' COMMENT '文件类型(icon/avatar/doc/other)',
    file_size BIGINT DEFAULT 0 COMMENT '文件大小(字节)',
    mime_type VARCHAR(128) DEFAULT NULL COMMENT 'MIME类型',
    md5 VARCHAR(64) DEFAULT NULL COMMENT '文件MD5摘要',
    upload_user_id VARCHAR(64) DEFAULT NULL COMMENT '上传用户ID',
    file_data LONGBLOB COMMENT '文件二进制数据',
    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
    PRIMARY KEY (id),
    INDEX idx_system_id (system_id),
    INDEX idx_file_type (file_type),
    INDEX idx_upload_user_id (upload_user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表';

-- 验证
SHOW CREATE TABLE sys_file;
SELECT COUNT(*) FROM sys_file;
