From 7b08029e2e7a772544c22d970c6f026b5d1e9e73 Mon Sep 17 00:00:00 2001 From: Audit Bot Date: Mon, 29 Jun 2026 20:47:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4=20AssetModel=20?= =?UTF-8?q?=E5=B9=BD=E7=81=B5=E5=88=97=20storage=5Fkey=EF=BC=88=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E4=B8=AD=E4=B8=8D=E5=AD=98=E5=9C=A8=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因:AssetModel 定义了 storage_key 列,但 assets 表从未包含此列。 SQLAlchemy 的 session.query(AssetModel) 生成 SELECT 时包含 assets.storage_key,导致 PostgreSQL 报错 column does not exist。 影响端点: - GET /api/v1/assets?library_id=xxx → 500 - POST /api/v1/generation/tasks → 500(调用 find_by_library 验证素材) - GET /api/v1/dashboard/overview → 500(调用 count_by_project_ids 统计) 修复:删除 models.py 中 AssetModel 的 storage_key 列定义。 域实体的 storage_key 字段通过 _to_domain() 从 model.file_url 映射,不受影响。 --- packages/adapters/sqlalchemy_impl/models.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/adapters/sqlalchemy_impl/models.py b/packages/adapters/sqlalchemy_impl/models.py index 82ae038f8..9a6a487b8 100755 --- a/packages/adapters/sqlalchemy_impl/models.py +++ b/packages/adapters/sqlalchemy_impl/models.py @@ -65,8 +65,6 @@ class AssetModel(Base): asset_library_id = Column(String(36), nullable=False, index=True) name = Column(String(500), nullable=False) file_type = Column(String(20), nullable=False, index=True) - # storage_key: OSS 对象键(相对路径),用于内部存储和操作 - storage_key = Column(String(255), nullable=False) # file_size: 文件大小(字节),使用 Integer 类型以确保精确性 file_size = Column(Integer, nullable=False) # file_url: 完整可访问的 URL,用于客户端直接访问文件 -- 2.54.0