fix: 修复项目模板绑定priority列类型错误

- 修复project_template_binding_repository中priority列的类型不一致问题
- 将priority和is_active字段的存储从字符串改为整数类型
- 修复create、update和query操作中的类型转换错误
- 解决'Invalid column type Integer at index: 5, name: priority'错误
- 确保数据库schema与代码中的类型处理保持一致
This commit is contained in:
imeepos 2025-07-15 13:31:48 +08:00
parent 259ff992ae
commit 7e9190dd02
1 changed files with 6 additions and 6 deletions

View File

@ -116,8 +116,8 @@ impl ProjectTemplateBindingRepository {
rusqlite::params![ rusqlite::params![
&binding.binding_name, &binding.binding_name,
&binding.description, &binding.description,
&binding.priority.to_string(), binding.priority as i32,
&(binding.is_active as i32).to_string(), binding.is_active as i32,
&serde_json::to_string(&binding.binding_type).unwrap(), &serde_json::to_string(&binding.binding_type).unwrap(),
&serde_json::to_string(&binding.binding_status).unwrap(), &serde_json::to_string(&binding.binding_status).unwrap(),
&binding.updated_at.to_rfc3339(), &binding.updated_at.to_rfc3339(),
@ -186,7 +186,7 @@ impl ProjectTemplateBindingRepository {
if let Some(is_active) = params.is_active { if let Some(is_active) = params.is_active {
query.push_str(" AND 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"); query.push_str(" ORDER BY priority ASC, created_at DESC");
@ -316,8 +316,8 @@ impl ProjectTemplateBindingRepository {
&final_binding.template_id, &final_binding.template_id,
&final_binding.binding_name, &final_binding.binding_name,
&final_binding.description, &final_binding.description,
&final_binding.priority.to_string(), final_binding.priority as i32,
&(final_binding.is_active as i32).to_string(), final_binding.is_active as i32,
&serde_json::to_string(&final_binding.binding_type).unwrap(), &serde_json::to_string(&final_binding.binding_type).unwrap(),
&serde_json::to_string(&final_binding.binding_status).unwrap(), &serde_json::to_string(&final_binding.binding_status).unwrap(),
&final_binding.metadata, &final_binding.metadata,
@ -374,7 +374,7 @@ impl ProjectTemplateBindingRepository {
template_id: row.get("template_id")?, template_id: row.get("template_id")?,
binding_name: row.get("binding_name")?, binding_name: row.get("binding_name")?,
description: row.get("description")?, 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, is_active: row.get::<_, i32>("is_active")? != 0,
binding_type: serde_json::from_str(&binding_type_str).unwrap_or(BindingType::Primary), 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), binding_status: serde_json::from_str(&binding_status_str).unwrap_or(BindingStatus::Active),