diff --git a/app/config_migration.py b/app/config_migration.py index a1bb5f1..4dadda9 100644 --- a/app/config_migration.py +++ b/app/config_migration.py @@ -37,7 +37,10 @@ def migrate_configs_to_mysql(): skipped_count += 1 continue - value = store._load_json(key, DEFAULT_CONFIGS.get(key, {})) + value = store._load_json_from_file(key) + if value is None: + value = DEFAULT_CONFIGS.get(key, {}) + logger.info(f"JSON 配置 [{key}] 不存在或损坏,使用默认值迁移") store._save_to_mysql(key, value) migrated_count += 1 logger.info(f"配置 [{key}] 已从 JSON 迁移到 MySQL") diff --git a/app/config_store.py b/app/config_store.py index 30e92cf..db58a7e 100644 --- a/app/config_store.py +++ b/app/config_store.py @@ -86,7 +86,9 @@ class ConfigStore: if self.storage_manager.check_mysql(): try: - self._save_to_mysql(key, value) + if not self._save_to_mysql(key, value): + logger.warning(f"写入 MySQL 配置 [{key}] 失败,保留 JSON 旧值") + return False except Exception as e: logger.warning(f"写入 MySQL 配置 [{key}] 失败,保留 JSON 旧值: {e}") return False