CREATE TABLE yz_files (
    id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '文件ID',
    tenant_id VARCHAR(64) NOT NULL COMMENT '租户ID',
    user_id INT NOT NULL DEFAULT 0 COMMENT '用户ID',
    
    -- 文件基础信息
    file_name VARCHAR(255) NOT NULL COMMENT '文件名称',
    original_name VARCHAR(255) NOT NULL COMMENT '原始文件名',
    file_path VARCHAR(500) NOT NULL COMMENT '文件存储路径',
    file_url VARCHAR(500) COMMENT '文件访问URL',
    file_size BIGINT NOT NULL DEFAULT 0 COMMENT '文件大小(字节)',
    file_type VARCHAR(50) NOT NULL COMMENT '文件类型',
    file_ext VARCHAR(20) NOT NULL COMMENT '文件扩展名',
    
    -- 分类信息
    category VARCHAR(100) NOT NULL COMMENT '文件分类',
    sub_category VARCHAR(100) COMMENT '子分类',
    
    -- 状态信息
    status TINYINT DEFAULT 1 COMMENT '状态(1:正常, 0:删除)',
    is_public TINYINT DEFAULT 0 COMMENT '是否公开(1:是, 0:否)',
    
    -- 上传信息
    upload_by VARCHAR(100) NOT NULL COMMENT '上传人',
    upload_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
    
    -- 索引
    INDEX idx_tenant (tenant_id),
    INDEX idx_user (user_id),
    INDEX idx_category (category),
    INDEX idx_upload_time (upload_time),
    INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表';