mirror of
https://github.com/open-webui/open-webui.git
synced 2026-08-28 05:27:35 +00:00
refac
This commit is contained in:
parent
8d25ad00e2
commit
5c05608e3a
2 changed files with 21 additions and 7 deletions
|
|
@ -39,7 +39,7 @@ from open_webui.utils.json_codec import JSONCodec
|
|||
|
||||
async def seed_registered_defaults():
|
||||
await Config.rename_prefix('rag.web', 'web')
|
||||
await Config.repair_flattened_dict_configs()
|
||||
await Config.repair_config_rows()
|
||||
await Config.seed_defaults(DEFAULT_CONFIG)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -300,14 +300,16 @@ class Config(Base):
|
|||
)
|
||||
|
||||
@staticmethod
|
||||
async def repair_flattened_dict_configs() -> None:
|
||||
"""Reassemble dict config values flattened by the per-key migration."""
|
||||
async def repair_config_rows() -> None:
|
||||
"""Repair known legacy config row shapes."""
|
||||
if not Config.PERSISTENT_ENABLED:
|
||||
return
|
||||
|
||||
async with get_async_db() as db:
|
||||
repaired_keys: list[str] = []
|
||||
orphan_keys: list[str] = []
|
||||
default_model_keys: list[str] = []
|
||||
now = int(time.time())
|
||||
|
||||
for config_key, aliases in DICT_CONFIG_KEY_ALIASES.items():
|
||||
prefixes = (config_key, *aliases)
|
||||
|
|
@ -355,14 +357,26 @@ class Config(Base):
|
|||
|
||||
if existing:
|
||||
existing.value = repaired
|
||||
existing.updated_at = int(time.time())
|
||||
existing.updated_at = now
|
||||
else:
|
||||
db.add(Config(key=config_key, value=repaired, updated_at=int(time.time())))
|
||||
db.add(Config(key=config_key, value=repaired, updated_at=now))
|
||||
repaired_keys.append(config_key)
|
||||
|
||||
if orphan_keys:
|
||||
await db.execute(delete(Config).where(Config.key.in_(orphan_keys)))
|
||||
|
||||
if repaired_keys or orphan_keys:
|
||||
for key in ('ui.default_models', 'ui.default_pinned_models'):
|
||||
row = await db.get(Config, key)
|
||||
if not row or not isinstance(row.value, list):
|
||||
continue
|
||||
|
||||
row.value = ','.join(model_id for model_id in (str(item).strip() for item in row.value) if model_id)
|
||||
row.updated_at = now
|
||||
default_model_keys.append(key)
|
||||
|
||||
if repaired_keys or orphan_keys or default_model_keys:
|
||||
await db.commit()
|
||||
log.info('Repaired flattened dict config rows for %s', ', '.join(repaired_keys))
|
||||
if repaired_keys or orphan_keys:
|
||||
log.info('Repaired flattened dict config rows for %s', ', '.join(repaired_keys))
|
||||
if default_model_keys:
|
||||
log.info('Repaired default model config rows for %s', ', '.join(default_model_keys))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue