diff --git a/backend/app/services/system_settings_service.py b/backend/app/services/system_settings_service.py index 8c6dc65..1d5a3b8 100644 --- a/backend/app/services/system_settings_service.py +++ b/backend/app/services/system_settings_service.py @@ -211,8 +211,16 @@ class SystemSettingsService: for default in defaults: existing = await self.get_setting(default["key"], session) if not existing: - await self.create_setting(default, session) - logger.info(f"Created default setting: {default['key']}") + try: + await self.create_setting(default, session) + logger.info(f"Created default setting: {default['key']}") + except Exception as e: + # Ignore duplicate key errors (race condition between workers) + if "duplicate key" in str(e).lower() or "unique constraint" in str(e).lower(): + logger.debug(f"Setting {default['key']} already exists (created by another worker)") + else: + logger.error(f"Error creating default setting {default['key']}: {e}") + raise # Singleton instance