24 lines
1.5 KiB
SQL
24 lines
1.5 KiB
SQL
CREATE TABLE IF NOT EXISTS `project_vectorization_task` (
|
||
`id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '任务ID',
|
||
`task_id` VARCHAR(64) NOT NULL COMMENT '任务唯一标识',
|
||
`project_id` BIGINT NOT NULL COMMENT '项目ID',
|
||
`user_id` BIGINT NOT NULL COMMENT '触发用户ID',
|
||
`task_type` VARCHAR(32) NOT NULL COMMENT '任务类型:incremental/full',
|
||
`status` VARCHAR(32) NOT NULL DEFAULT 'pending' COMMENT '任务状态:pending/running/success/failed',
|
||
`total` INT NOT NULL DEFAULT 0 COMMENT '文件总数',
|
||
`processed` INT NOT NULL DEFAULT 0 COMMENT '处理成功数',
|
||
`skipped` INT NOT NULL DEFAULT 0 COMMENT '跳过数',
|
||
`failed` INT NOT NULL DEFAULT 0 COMMENT '失败数',
|
||
`error_message` TEXT DEFAULT NULL COMMENT '错误信息',
|
||
`started_at` DATETIME DEFAULT NULL COMMENT '开始时间',
|
||
`finished_at` DATETIME DEFAULT NULL COMMENT '完成时间',
|
||
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||
UNIQUE KEY `uk_vector_task_id` (`task_id`),
|
||
INDEX `idx_vector_task_project_status` (`project_id`, `status`),
|
||
INDEX `idx_vector_task_user_id` (`user_id`),
|
||
INDEX `idx_vector_task_created_at` (`created_at`),
|
||
FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON DELETE CASCADE,
|
||
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目向量化任务表';
|