-- ============================================= -- 资金服务平台 - 文件管理数据库初始化脚本 -- Database: fund_file -- Version: 2.0 -- Created: 2026-02-22 -- Updated: 2026-03-02 (主键类型改为VARCHAR雪花ID) -- ============================================= CREATE DATABASE IF NOT EXISTS fund_file DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE fund_file; -- ============================================= -- 文件记录表 (file_record) -- ============================================= CREATE TABLE IF NOT EXISTS `file_record` ( `file_id` VARCHAR(32) NOT NULL COMMENT '主键ID(雪花算法)', `tenant_id` VARCHAR(32) NOT NULL COMMENT '租户ID', `file_name` VARCHAR(200) 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) COMMENT '文件类型(image/document/video/audio/other)', `file_ext` VARCHAR(20) COMMENT '文件扩展名', `content_type` VARCHAR(100) COMMENT 'MIME类型', `md5` VARCHAR(32) COMMENT '文件MD5', `business_type` VARCHAR(50) COMMENT '业务类型(contract/receipt/expense/other)', `business_id` VARCHAR(32) COMMENT '关联业务ID', `description` VARCHAR(500) COMMENT '文件描述', `download_count` INT NOT NULL DEFAULT 0 COMMENT '下载次数', `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:0-禁用,1-启用', `created_by` VARCHAR(32) COMMENT '上传人ID', `created_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_by` VARCHAR(32) COMMENT '更新人ID', `updated_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除', PRIMARY KEY (`file_id`), INDEX `idx_tenant` (`tenant_id`), INDEX `idx_business` (`business_type`, `business_id`), INDEX `idx_type` (`file_type`), INDEX `idx_created_time` (`created_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件记录表';