From 7e9190dd02121b4dfc2bb9c1345b12a6edaada92 Mon Sep 17 00:00:00 2001 From: imeepos Date: Tue, 15 Jul 2025 13:31:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E7=BB=91=E5=AE=9Apriority=E5=88=97=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复project_template_binding_repository中priority列的类型不一致问题 - 将priority和is_active字段的存储从字符串改为整数类型 - 修复create、update和query操作中的类型转换错误 - 解决'Invalid column type Integer at index: 5, name: priority'错误 - 确保数据库schema与代码中的类型处理保持一致 --- .../project_template_binding_repository.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/desktop/src-tauri/src/data/repositories/project_template_binding_repository.rs b/apps/desktop/src-tauri/src/data/repositories/project_template_binding_repository.rs index cbde134..40bb0bf 100644 --- a/apps/desktop/src-tauri/src/data/repositories/project_template_binding_repository.rs +++ b/apps/desktop/src-tauri/src/data/repositories/project_template_binding_repository.rs @@ -116,8 +116,8 @@ impl ProjectTemplateBindingRepository { rusqlite::params![ &binding.binding_name, &binding.description, - &binding.priority.to_string(), - &(binding.is_active as i32).to_string(), + binding.priority as i32, + binding.is_active as i32, &serde_json::to_string(&binding.binding_type).unwrap(), &serde_json::to_string(&binding.binding_status).unwrap(), &binding.updated_at.to_rfc3339(), @@ -186,7 +186,7 @@ impl ProjectTemplateBindingRepository { if let Some(is_active) = params.is_active { query.push_str(" AND is_active = ?"); - query_params.push((is_active as i32).to_string()); + query_params.push(if is_active { "1" } else { "0" }.to_string()); } query.push_str(" ORDER BY priority ASC, created_at DESC"); @@ -316,8 +316,8 @@ impl ProjectTemplateBindingRepository { &final_binding.template_id, &final_binding.binding_name, &final_binding.description, - &final_binding.priority.to_string(), - &(final_binding.is_active as i32).to_string(), + final_binding.priority as i32, + final_binding.is_active as i32, &serde_json::to_string(&final_binding.binding_type).unwrap(), &serde_json::to_string(&final_binding.binding_status).unwrap(), &final_binding.metadata, @@ -374,7 +374,7 @@ impl ProjectTemplateBindingRepository { template_id: row.get("template_id")?, binding_name: row.get("binding_name")?, description: row.get("description")?, - priority: row.get::<_, String>("priority")?.parse().unwrap_or(0), + priority: row.get::<_, i32>("priority")? as u32, is_active: row.get::<_, i32>("is_active")? != 0, binding_type: serde_json::from_str(&binding_type_str).unwrap_or(BindingType::Primary), binding_status: serde_json::from_str(&binding_status_str).unwrap_or(BindingStatus::Active),