fix: 状态枚举添加_missing_兼容历史脏数据,修复Staging模板生成接口500 #809 #835

Merged
xiaoxia merged 1 commits from bugfix/809-generation-task-status-missing into develop 2026-07-25 10:04:00 +08:00

1 Commits

Author SHA1 Message Date
CI Bot 528bcaf59f fix: 状态枚举添加_missing_兼容历史脏数据,修复Staging 500 #809
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 37s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m15s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 44s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m6s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 44s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 37s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 24s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m6s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m57s
AI Code Review / AI Code Review (pull_request) Successful in 3m52s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m40s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Failing after 2m27s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 16m20s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m37s
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 9s
根因:Staging PostgreSQL有历史脏数据(如success/done等旧状态值),
GenerationTaskStatus/EditPlanStatus/EditPlanClipStatus枚举缺少_missing_
兼容方法,导致枚举转换抛ValueError触发500。

修复:参照AssetStatus/ClassificationJobStatus的模式,给三个枚举都加上
_missing_方法,兼容常见历史别名,未知值兜底到初始态(不阻塞业务)。

修改范围:
- packages/domain/generation_task.py: GenerationTaskStatus._missing_
- packages/domain/edit_plan.py: EditPlanStatus._missing_
- packages/domain/edit_plan_clip.py: EditPlanClipStatus._missing_
- tests/unit/test_generation_task_status_enum.py: 32个兼容性单测
2026-07-25 00:05:49 +08:00