43 lines
2.5 KiB
SQL
43 lines
2.5 KiB
SQL
-- 文件服务数据库:分片上传任务主表。
|
|
-- 本脚本需与 blade_file_task_part 表配套执行;请在 blade-file 服务配置的数据源中运行。
|
|
|
|
CREATE TABLE IF NOT EXISTS `blade_file_task` (
|
|
`id` bigint NOT NULL COMMENT '主键ID',
|
|
`md5` varchar(128) NOT NULL COMMENT '文件MD5',
|
|
`object_key` varchar(1000) NOT NULL COMMENT '对象存储对象键',
|
|
`attachment_name` varchar(500) NOT NULL COMMENT '附件名称',
|
|
`suffix` varchar(50) DEFAULT NULL COMMENT '文件后缀',
|
|
`size` bigint NOT NULL COMMENT '文件大小,单位:字节',
|
|
`chunk_size` int NOT NULL COMMENT '分片大小,单位:字节',
|
|
`chunk_total` int NOT NULL COMMENT '分片总数',
|
|
`current_index` int NOT NULL DEFAULT 0 COMMENT '已完成分片数',
|
|
`upload_id` varchar(255) DEFAULT NULL COMMENT '对象存储上传任务ID',
|
|
`status` varchar(20) NOT NULL DEFAULT 'uploading' COMMENT '状态:uploading、completed、failed、paused',
|
|
`business_type` varchar(50) DEFAULT NULL COMMENT '业务类型,例如 voucher',
|
|
`business_id` varchar(64) DEFAULT NULL COMMENT '业务标识,例如凭证批次号',
|
|
`create_user_name` varchar(50) DEFAULT NULL COMMENT '创建人名称',
|
|
`create_user` bigint DEFAULT NULL COMMENT '创建人ID',
|
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
|
`update_user_name` varchar(50) DEFAULT NULL COMMENT '更新人名称',
|
|
`update_user` bigint DEFAULT NULL COMMENT '更新人ID',
|
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
|
`is_deleted` tinyint NOT NULL DEFAULT 0 COMMENT '是否删除:0否、1是',
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_file_task_md5` (`md5`),
|
|
KEY `idx_file_task_business` (`business_type`, `business_id`),
|
|
KEY `idx_file_task_create_user_time` (`create_user`, `create_time`),
|
|
KEY `idx_file_task_status` (`status`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件分片上传任务';
|
|
|
|
CREATE TABLE IF NOT EXISTS `blade_file_task_part` (
|
|
`id` bigint NOT NULL COMMENT '主键ID',
|
|
`file_task_id` bigint NOT NULL COMMENT '文件上传任务ID',
|
|
`part_number` int NOT NULL COMMENT '分片编号,从1开始',
|
|
`etag` varchar(255) NOT NULL COMMENT '分片ETag',
|
|
`create_user` bigint DEFAULT NULL COMMENT '创建人ID',
|
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_file_task_part` (`file_task_id`, `part_number`),
|
|
KEY `idx_file_task_part_task` (`file_task_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件分片上传任务分片记录';
|