-- =============================================
-- 文件存储本地管理表 filestorage
-- 数据库: jjb_saas_safety_eval
-- 说明: 用于记录上传到阿里云OSS的文件元信息，
--       在存储/删除文件时进行文件的维护管理
-- =============================================

CREATE TABLE IF NOT EXISTS `filestorage` (
    `id`              INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
    `url`             VARCHAR(1024) NOT NULL                COMMENT 'OSS文件完整访问URL',
    `base_path`       VARCHAR(512)  DEFAULT NULL            COMMENT 'OSS存储根路径 (如 jjb)',
    `path`            VARCHAR(512)  DEFAULT NULL            COMMENT 'OSS存储相对路径 (不含basePath)',
    `filename`        VARCHAR(512)  DEFAULT NULL            COMMENT 'OSS存储文件名 (uuid生成)',
    `original_filename` VARCHAR(512) DEFAULT NULL           COMMENT '文件原始名称',
    `size`            BIGINT        DEFAULT 0               COMMENT '文件大小（字节）',
    `ext`             VARCHAR(64)   DEFAULT NULL            COMMENT '文件扩展名（不含.）',
    `content_type`    VARCHAR(128)  DEFAULT NULL            COMMENT '文件MIME类型',
    `platform`        VARCHAR(64)   DEFAULT NULL            COMMENT 'OSS平台标识 (如 aliyun-oss)',
    `md5`             VARCHAR(64)   DEFAULT NULL            COMMENT 'Content-MD5或文件MD5值',
    `creator_name`    VARCHAR(128)  DEFAULT NULL            COMMENT '上传者姓名',
    `creator_uid`     VARCHAR(128)  DEFAULT NULL            COMMENT '上传者UID',
    `created_time`    DATETIME      DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
    INDEX `idx_platform` (`platform`),
    INDEX `idx_creator_uid` (`creator_uid`),
    INDEX `idx_filename` (`filename`),
    INDEX `idx_created_time` (`created_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件存储本地管理表';
