mirror of
https://github.com/snailyp/gemini-balance.git
synced 2026-05-12 02:19:59 +08:00
feat(config): 更新数据库类型设置的同步逻辑
本次提交主要更改了 `sync_initial_settings` 函数,增加了对 `DATABASE_TYPE` 设置的处理逻辑。具体变更包括: - 在从数据库更新内存设置时,跳过对 `DATABASE_TYPE` 的更新,并记录调试信息,说明该设置由环境变量控制。 - 在将内存设置同步到数据库时,同样跳过对 `DATABASE_TYPE` 的同步,并记录调试信息。 DATABASE_TYPE 配置项将不会从数据库加载,也不会被同步到数据库,确保了您可以通过环境配置来控制数据库类型。
This commit is contained in:
@@ -274,6 +274,12 @@ async def sync_initial_settings():
|
||||
updated_in_memory = False
|
||||
|
||||
for key, db_value in db_settings_map.items():
|
||||
if key == "DATABASE_TYPE":
|
||||
logger.debug(
|
||||
f"Skipping update of '{key}' in memory from database. "
|
||||
"This setting is controlled by environment/dotenv."
|
||||
)
|
||||
continue
|
||||
if hasattr(settings, key):
|
||||
target_type = Settings.__annotations__.get(key)
|
||||
if target_type:
|
||||
@@ -342,6 +348,13 @@ async def sync_initial_settings():
|
||||
existing_db_keys = set(db_settings_map.keys())
|
||||
|
||||
for key, value in final_memory_settings.items():
|
||||
if key == "DATABASE_TYPE":
|
||||
logger.debug(
|
||||
f"Skipping synchronization of '{key}' to database. "
|
||||
"This setting is controlled by environment/dotenv."
|
||||
)
|
||||
continue
|
||||
|
||||
# 序列化值为字符串或 JSON 字符串
|
||||
if isinstance(value, (list, dict)): # 处理列表和字典
|
||||
db_value = json.dumps(
|
||||
|
||||
Reference in New Issue
Block a user