From bb240833a4abcdf9bf45a2ded7aae167deb1c0ce Mon Sep 17 00:00:00 2001 From: imeepos Date: Mon, 14 Jul 2025 16:21:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=89=87=E6=AE=B5?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E6=9B=B4=E6=96=B0=E6=97=B6=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E8=A1=A8=E5=90=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题修复: - 修复update_segment_file_path方法中错误的表名 - 将'video_segments'改为正确的'material_segments' - 移除不存在的updated_at字段更新 问题分析: - 数据库中只有material_segments表,没有video_segments表 - material_segments表结构只包含created_at,没有updated_at字段 - 这导致AI分类后文件移动成功但片段路径更新失败 修复效果: - AI分类完成后能正确更新片段的file_path - 数据库中的片段记录将指向新的分类目录 - 消除'no such table: video_segments'错误 数据一致性: - 确保文件移动和数据库更新的一致性 - 片段路径始终反映文件的真实位置 - 避免数据库记录与实际文件位置不符的问题 --- .../src/data/repositories/material_repository.rs | 2 +- .../data/repositories/video_classification_repository.rs | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/apps/desktop/src-tauri/src/data/repositories/material_repository.rs b/apps/desktop/src-tauri/src/data/repositories/material_repository.rs index 63b5e24..c921eb8 100644 --- a/apps/desktop/src-tauri/src/data/repositories/material_repository.rs +++ b/apps/desktop/src-tauri/src/data/repositories/material_repository.rs @@ -497,7 +497,7 @@ impl MaterialRepository { let conn = self.connection.lock().unwrap(); let updated_rows = conn.execute( - "UPDATE video_segments SET file_path = ?, updated_at = datetime('now') WHERE id = ?", + "UPDATE material_segments SET file_path = ? WHERE id = ?", params![new_file_path, segment_id] )?; diff --git a/apps/desktop/src-tauri/src/data/repositories/video_classification_repository.rs b/apps/desktop/src-tauri/src/data/repositories/video_classification_repository.rs index ff395a7..b7b89ec 100644 --- a/apps/desktop/src-tauri/src/data/repositories/video_classification_repository.rs +++ b/apps/desktop/src-tauri/src/data/repositories/video_classification_repository.rs @@ -302,7 +302,6 @@ impl VideoClassificationRepository { // 调试:检查TaskStatus::Pending的序列化结果 let pending_status_json = serde_json::to_string(&TaskStatus::Pending)?; - println!("🔍 TaskStatus::Pending序列化结果: {}", pending_status_json); // 使用正确的JSON序列化格式查询 let pending_status_json = serde_json::to_string(&TaskStatus::Pending)?; @@ -500,13 +499,6 @@ impl VideoClassificationRepository { Ok((row.get::<_, String>(0)?, row.get::<_, i32>(1)?)) })?; - println!("🔍 数据库中实际的任务状态分布:"); - for row in debug_rows { - if let Ok((status, count)) = row { - println!(" 状态: {} -> 数量: {}", status, count); - } - } - // 获取任务统计 let mut stmt = conn.prepare(&format!( "SELECT