diff --git a/package.json b/package.json index 2d4cf4af0..f1eb6e2b1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "proxycast", "private": true, - "version": "0.45.0", + "version": "0.45.1", "type": "module", "repository": { "type": "git", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index c2c0e298a..b71a2132e 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -3947,7 +3947,7 @@ dependencies = [ [[package]] name = "proxycast" -version = "0.45.0" +version = "0.45.1" dependencies = [ "anyhow", "arboard", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 7da1a71fe..c8d2b1059 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "proxycast" -version = "0.45.0" +version = "0.45.1" description = "AI API Proxy Desktop App" authors = ["you"] edition = "2021" diff --git a/src-tauri/src/database/schema.rs b/src-tauri/src/database/schema.rs index 2b4ca1f96..733aa2fc0 100644 --- a/src-tauri/src/database/schema.rs +++ b/src-tauri/src/database/schema.rs @@ -226,15 +226,17 @@ pub fn create_tables(conn: &Connection) -> Result<(), rusqlite::Error> { [], ); + // Migration: 添加代理URL字段 - 使用重建表结构的方式 + // 注意:这个迁移会重建整个表,所以 supported_models 列需要在这之后添加 + migrate_add_proxy_url_column(conn)?; + // Migration: 添加支持的模型列表字段 + // 必须在 migrate_add_proxy_url_column 之后执行,因为那个函数可能会重建表 let _ = conn.execute( "ALTER TABLE provider_pool_credentials ADD COLUMN supported_models TEXT", [], ); - // Migration: 添加代理URL字段 - 使用重建表结构的方式 - migrate_add_proxy_url_column(conn)?; - // 已安装插件表 // _需求: 1.2, 1.3_ conn.execute( @@ -625,7 +627,7 @@ fn migrate_add_proxy_url_column(conn: &Connection) -> Result<(), rusqlite::Error // 2. 删除原表 conn.execute("DROP TABLE provider_pool_credentials", [])?; - // 3. 重建表结构(包含proxy_url列) + // 3. 重建表结构(包含proxy_url列和supported_models列) conn.execute( "CREATE TABLE provider_pool_credentials ( uuid TEXT PRIMARY KEY, @@ -637,6 +639,7 @@ fn migrate_add_proxy_url_column(conn: &Connection) -> Result<(), rusqlite::Error check_health INTEGER DEFAULT 1, check_model_name TEXT, not_supported_models TEXT, + supported_models TEXT, usage_count INTEGER DEFAULT 0, error_count INTEGER DEFAULT 0, last_used INTEGER, @@ -658,11 +661,11 @@ fn migrate_add_proxy_url_column(conn: &Connection) -> Result<(), rusqlite::Error [], )?; - // 4. 恢复数据(proxy_url默认为NULL) + // 4. 恢复数据(proxy_url和supported_models默认为NULL) conn.execute( "INSERT INTO provider_pool_credentials ( uuid, provider_type, credential_data, name, is_healthy, is_disabled, - check_health, check_model_name, not_supported_models, usage_count, + check_health, check_model_name, not_supported_models, supported_models, usage_count, error_count, last_used, last_error_time, last_error_message, last_health_check_time, last_health_check_model, proxy_url, created_at, updated_at, cached_access_token, cached_refresh_token, @@ -670,7 +673,7 @@ fn migrate_add_proxy_url_column(conn: &Connection) -> Result<(), rusqlite::Error last_refresh_error, source ) SELECT uuid, provider_type, credential_data, name, is_healthy, is_disabled, - check_health, check_model_name, not_supported_models, usage_count, + check_health, check_model_name, not_supported_models, NULL as supported_models, usage_count, error_count, last_used, last_error_time, last_error_message, last_health_check_time, last_health_check_model, NULL as proxy_url, created_at, updated_at, cached_access_token, cached_refresh_token, diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 7271abaa8..e94b84d3e 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "ProxyCast", - "version": "0.45.0", + "version": "0.45.1", "identifier": "com.proxycast.app", "build": { "beforeDevCommand": "npm run dev",