From 42b75979dd3e163c8ee8efbe4c28f8d0fc3921a0 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Wed, 15 Oct 2025 22:31:30 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E8=BF=81=E7=A7=BB=E4=B8=AD=E6=BD=9C=E5=9C=A8=E7=9A=84?= =?UTF-8?q?=20BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/paddlex.py | 2 +- src/storage/db/manager.py | 38 +++++++++++++++++++++++++------------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/plugins/paddlex.py b/src/plugins/paddlex.py index 897aaad0..1308c669 100644 --- a/src/plugins/paddlex.py +++ b/src/plugins/paddlex.py @@ -111,7 +111,7 @@ class PaddleXLayoutParser: logger.info("✅ 请求成功!") return result else: - logger.error("❌ 请求失败!") + logger.error(f"❌ 请求失败! {self.endpoint}") try: error_result = response.json() logger.error(f"错误信息: {json.dumps(error_result, indent=2, ensure_ascii=False)}") diff --git a/src/storage/db/manager.py b/src/storage/db/manager.py index 6623acf8..34fd1676 100644 --- a/src/storage/db/manager.py +++ b/src/storage/db/manager.py @@ -10,8 +10,10 @@ from src.storage.db.models import Base, User from src.utils import logger try: - from server.utils.migrate import validate_database_schema + from server.utils.migrate import DatabaseMigrator, validate_database_schema except ImportError: + DatabaseMigrator = None + # 如果迁移工具不存在,使用简单的占位函数 def validate_database_schema(db_path): return True, [] @@ -49,19 +51,29 @@ class DBManager: def run_migrations(self): """运行数据库迁移""" - # 在创建表之前先检查结构 - if os.path.exists(self.db_path): - is_valid, issues = validate_database_schema(self.db_path) + if not os.path.exists(self.db_path): + return - if not is_valid: - logger.warning("=" * 60) - logger.warning("检测到数据库结构与当前模型不一致!") - logger.warning("=" * 60) - for issue in issues: - logger.warning(f" ⚠️ {issue}") - logger.warning("") - logger.warning("请运行以下 scripts/migrate_user_fields.py 来修复数据库结构:") - logger.warning("=" * 60) + if DatabaseMigrator is not None: + migrator = DatabaseMigrator(self.db_path) + try: + migrator.run_migrations() + except Exception as exc: + logger.error(f"数据库迁移执行失败: {exc}") + else: + logger.warning("数据库迁移工具缺失,无法自动执行迁移") + + is_valid, issues = validate_database_schema(self.db_path) + + if not is_valid: + logger.warning("=" * 60) + logger.warning("检测到数据库结构与当前模型不一致!") + logger.warning("=" * 60) + for issue in issues: + logger.warning(f" ⚠️ {issue}") + logger.warning("") + logger.warning("请运行 scripts/migrate_user_soft_delete.py 手动修复数据库结构") + logger.warning("=" * 60) def get_session(self): """获取数据库会话"""