-- 添加目录摘取状态相关字段到 t_file 表 -- 执行时间: 2025-12-02 -- 添加目录摘取状态字段 ALTER TABLE t_file ADD COLUMN IF NOT EXISTS catalog_extraction_status VARCHAR(32) DEFAULT 'not_started'; -- 添加目录摘取重试次数字段 ALTER TABLE t_file ADD COLUMN IF NOT EXISTS catalog_extraction_retry_count INT DEFAULT 0 NOT NULL; -- 添加目录摘取完成时间字段 ALTER TABLE t_file ADD COLUMN IF NOT EXISTS catalog_extraction_time TIMESTAMP; -- 添加字段注释 COMMENT ON COLUMN t_file.catalog_extraction_status IS '目录摘取状态:not_started-未开始, processing-处理中, completed-已完成'; COMMENT ON COLUMN t_file.catalog_extraction_retry_count IS '目录摘取重试次数(最多重试3次)'; COMMENT ON COLUMN t_file.catalog_extraction_time IS '目录摘取完成时间'; -- 为已有数据设置初始状态 -- 如果已经有目录记录,设置为 completed UPDATE t_file f SET catalog_extraction_status = 'completed', catalog_extraction_time = f.update_time WHERE EXISTS ( SELECT 1 FROM t_file_directory fd WHERE fd.file_id = f.file_id ) AND (catalog_extraction_status IS NULL OR catalog_extraction_status = 'not_started'); -- 创建索引以提高查询性能 CREATE INDEX IF NOT EXISTS idx_file_catalog_status ON t_file(catalog_extraction_status);