fix(metadata): auto-disable archive_db setting when database file is missing

This commit is contained in:
Will Miao
2026-02-03 08:36:27 +08:00
parent 2c026a2646
commit f5dbd6b8e8
2 changed files with 7 additions and 3 deletions

View File

@@ -44,6 +44,8 @@ async def initialize_metadata_providers():
logger.debug(f"SQLite metadata provider registered with database: {db_path}")
else:
logger.warning("Metadata archive database is enabled but database file not found")
logger.info("Automatically disabling enable_metadata_archive_db setting")
settings_manager.set('enable_metadata_archive_db', False)
except Exception as e:
logger.error(f"Failed to initialize SQLite metadata provider: {e}")

View File

@@ -676,10 +676,12 @@ class ModelMetadataProviderManager:
def _get_provider(self, provider_name: str = None) -> ModelMetadataProvider:
"""Get provider by name or default provider"""
if provider_name and provider_name in self.providers:
if provider_name:
if provider_name not in self.providers:
raise ValueError(f"Provider '{provider_name}' is not registered")
return self.providers[provider_name]
if self.default_provider is None:
raise ValueError("No default provider set and no valid provider specified")
return self.providers[self.default_provider]