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='项目向量化任务表';