fix: 删除 AssetModel 幽灵列 storage_key(数据库中不存在)
根因: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 映射,不受影响。
This commit is contained in:
@@ -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,用于客户端直接访问文件
|
||||
|
||||
Reference in New Issue
Block a user