fix: 删除 AssetModel 幽灵列 storage_key(修复 P0 端点 500) #115

Merged
xiaoxia merged 1 commits from fix/p0-endpoint-500-root-cause into develop 2026-06-29 21:12:06 +08:00
Owner

修复内容

PR#114 合并后,3 个 P0 端点仍然 500。

根因

AssetModel 定义了 storage_key 列,但 assets 表从未包含此列。SQLAlchemy 生成 SELECT 时包含 assets.storage_key,导致数据库查询报错。

修复

从 AssetModel 中移除 storage_key 列定义。

变更

  • packages/infrastructure/database/models.py: 删除 AssetModel.storage_key

验证

  • 代码审计已通过
  • 本地验证 3 个 P0 端点不再 500
## 修复内容 PR#114 合并后,3 个 P0 端点仍然 500。 ### 根因 AssetModel 定义了 storage_key 列,但 assets 表从未包含此列。SQLAlchemy 生成 SELECT 时包含 assets.storage_key,导致数据库查询报错。 ### 修复 从 AssetModel 中移除 storage_key 列定义。 ### 变更 - `packages/infrastructure/database/models.py`: 删除 AssetModel.storage_key ### 验证 - 代码审计已通过 - 本地验证 3 个 P0 端点不再 500
xiaoxia added 1 commit 2026-06-29 21:12:00 +08:00
fix: 删除 AssetModel 幽灵列 storage_key(数据库中不存在)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
7b08029e2e
根因: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 映射,不受影响。
xiaoxia merged commit afea0a7566 into develop 2026-06-29 21:12:06 +08:00
Sign in to join this conversation.