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>> {
|
||||
let conn = self.database.get_connection();
|
||||
conn.lock().map_err(|e| anyhow!("获取数据库连接失败: {}", e))
|
||||
fn get_connection(&self) -> Arc<std::sync::Mutex<Connection>> {
|
||||
self.database.get_connection()
|
||||
}
|
||||
|
||||
/// 执行数据库操作的辅助方法
|
||||
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系统处理)
|
||||
pub fn initialize(&self) -> Result<()> {
|
||||
// ComfyUI表现在通过主数据库的migration系统创建
|
||||
// 这里只需要确保连接可用
|
||||
let _conn = self.get_connection()?;
|
||||
info!("ComfyUI 数据仓库初始化完成");
|
||||
Ok(())
|
||||
self.with_connection(|_conn| {
|
||||
info!("ComfyUI 数据仓库初始化完成");
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
||||
// ==================== 工作流相关操作 ====================
|
||||
|
||||
/// 创建工作流
|
||||
pub fn create_workflow(&self, workflow: &WorkflowModel) -> Result<()> {
|
||||
let conn = self.get_connection()?;
|
||||
|
||||
let workflow_data_json = serde_json::to_string(&workflow.workflow_data)?;
|
||||
let tags_json = serde_json::to_string(&workflow.tags)?;
|
||||
|
||||
conn.execute(
|
||||
"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
|
||||
],
|
||||
)?;
|
||||
|
||||
debug!("创建工作流: {}", workflow.id);
|
||||
Ok(())
|
||||
self.with_connection(|conn| {
|
||||
let workflow_data_json = serde_json::to_string(&workflow.workflow_data)?;
|
||||
let tags_json = serde_json::to_string(&workflow.tags)?;
|
||||
|
||||
conn.execute(
|
||||
"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
|
||||
],
|
||||
)?;
|
||||
|
||||
debug!("创建工作流: {}", workflow.id);
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
||||
/// 获取工作流
|
||||
|
|
|
|||
Loading…
Reference in New Issue