feat: 统一数据库和migration系统
This commit is contained in:
parent
ba121dfb3b
commit
e9be3199ea
|
|
@ -25,48 +25,58 @@ impl ComfyUIRepository {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 获取数据库连接
|
/// 获取数据库连接
|
||||||
fn get_connection(&self) -> Result<std::sync::MutexGuard<Connection>> {
|
fn get_connection(&self) -> Arc<std::sync::Mutex<Connection>> {
|
||||||
let conn = self.database.get_connection();
|
self.database.get_connection()
|
||||||
conn.lock().map_err(|e| anyhow!("获取数据库连接失败: {}", e))
|
}
|
||||||
|
|
||||||
|
/// 执行数据库操作的辅助方法
|
||||||
|
fn with_connection<F, R>(&self, f: F) -> Result<R>
|
||||||
|
where
|
||||||
|
F: FnOnce(&Connection) -> Result<R>,
|
||||||
|
{
|
||||||
|
let conn = self.get_connection();
|
||||||
|
let conn = conn.lock().map_err(|e| anyhow!("获取数据库连接失败: {}", e))?;
|
||||||
|
f(&*conn)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 初始化数据库表(现在通过主数据库的migration系统处理)
|
/// 初始化数据库表(现在通过主数据库的migration系统处理)
|
||||||
pub fn initialize(&self) -> Result<()> {
|
pub fn initialize(&self) -> Result<()> {
|
||||||
// ComfyUI表现在通过主数据库的migration系统创建
|
// ComfyUI表现在通过主数据库的migration系统创建
|
||||||
// 这里只需要确保连接可用
|
// 这里只需要确保连接可用
|
||||||
let _conn = self.get_connection()?;
|
self.with_connection(|_conn| {
|
||||||
info!("ComfyUI 数据仓库初始化完成");
|
info!("ComfyUI 数据仓库初始化完成");
|
||||||
Ok(())
|
Ok(())
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// ==================== 工作流相关操作 ====================
|
// ==================== 工作流相关操作 ====================
|
||||||
|
|
||||||
/// 创建工作流
|
/// 创建工作流
|
||||||
pub fn create_workflow(&self, workflow: &WorkflowModel) -> Result<()> {
|
pub fn create_workflow(&self, workflow: &WorkflowModel) -> Result<()> {
|
||||||
let conn = self.get_connection()?;
|
self.with_connection(|conn| {
|
||||||
|
let workflow_data_json = serde_json::to_string(&workflow.workflow_data)?;
|
||||||
|
let tags_json = serde_json::to_string(&workflow.tags)?;
|
||||||
|
|
||||||
let workflow_data_json = serde_json::to_string(&workflow.workflow_data)?;
|
conn.execute(
|
||||||
let tags_json = serde_json::to_string(&workflow.tags)?;
|
"INSERT INTO comfyui_workflows (id, name, description, workflow_data, version, created_at, updated_at, enabled, tags, category)
|
||||||
|
VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10)",
|
||||||
|
params![
|
||||||
|
workflow.id,
|
||||||
|
workflow.name,
|
||||||
|
workflow.description,
|
||||||
|
workflow_data_json,
|
||||||
|
workflow.version,
|
||||||
|
workflow.created_at,
|
||||||
|
workflow.updated_at,
|
||||||
|
workflow.enabled,
|
||||||
|
tags_json,
|
||||||
|
workflow.category
|
||||||
|
],
|
||||||
|
)?;
|
||||||
|
|
||||||
conn.execute(
|
debug!("创建工作流: {}", workflow.id);
|
||||||
"INSERT INTO comfyui_workflows (id, name, description, workflow_data, version, created_at, updated_at, enabled, tags, category)
|
Ok(())
|
||||||
VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10)",
|
})
|
||||||
params![
|
|
||||||
workflow.id,
|
|
||||||
workflow.name,
|
|
||||||
workflow.description,
|
|
||||||
workflow_data_json,
|
|
||||||
workflow.version,
|
|
||||||
workflow.created_at,
|
|
||||||
workflow.updated_at,
|
|
||||||
workflow.enabled,
|
|
||||||
tags_json,
|
|
||||||
workflow.category
|
|
||||||
],
|
|
||||||
)?;
|
|
||||||
|
|
||||||
debug!("创建工作流: {}", workflow.id);
|
|
||||||
Ok(())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 获取工作流
|
/// 获取工作流
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue