refactor(migration): run dedupe only during first-time migration; remove startup dedupe
- Remove per-startup dedupe; keep it limited to migration - Call dedupe at end of migrate_copies_into_config, then write marker - Avoid unintended changes on every app launch
This commit is contained in:
@@ -66,11 +66,6 @@ pub fn run() {
|
|||||||
// 确保两个 App 条目存在
|
// 确保两个 App 条目存在
|
||||||
config_guard.ensure_app(&app_config::AppType::Claude);
|
config_guard.ensure_app(&app_config::AppType::Claude);
|
||||||
config_guard.ensure_app(&app_config::AppType::Codex);
|
config_guard.ensure_app(&app_config::AppType::Codex);
|
||||||
// 启动去重:名称(忽略大小写)+API Key
|
|
||||||
let removed = migration::dedupe_config(&mut *config_guard);
|
|
||||||
if removed > 0 {
|
|
||||||
log::info!("已去重重复供应商 {} 个", removed);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保存配置
|
// 保存配置
|
||||||
|
|||||||
@@ -395,6 +395,12 @@ pub fn migrate_copies_into_config(config: &mut MultiAppConfig) -> Result<bool, S
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 标记完成
|
// 标记完成
|
||||||
|
// 仅在迁移阶段执行一次全量去重(忽略大小写的名称 + API Key)
|
||||||
|
let removed = dedupe_config(config);
|
||||||
|
if removed > 0 {
|
||||||
|
log::info!("迁移阶段已去重重复供应商 {} 个", removed);
|
||||||
|
}
|
||||||
|
|
||||||
fs::write(&marker, b"done").map_err(|e| format!("写入迁移标记失败: {}", e))?;
|
fs::write(&marker, b"done").map_err(|e| format!("写入迁移标记失败: {}", e))?;
|
||||||
Ok(true)
|
Ok(true)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user