c080a688bb
CI/CD Pipeline / Check if frontend-only change (push) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (push) Successful in 2m41s
CI/CD Pipeline / Frontend Lint (push) Successful in 3m24s
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 4m20s
CI/CD Pipeline / Unit Tests (push) Successful in 5m7s
CI/CD Pipeline / Integration Tests (push) Successful in 1m36s
CI Build & Deploy Pipeline / Build Staging API Image (push) Successful in 6m43s
CI Build & Deploy Pipeline / Build Staging Web Image (push) Successful in 1m48s
CI Build & Deploy Pipeline / Build Staging Worker Image (push) Successful in 8m36s
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Successful in 53s
CI Build & Deploy Pipeline / Staging E2E Tests (push) Waiting to run
CI Build & Deploy Pipeline / Staging API Integration Tests (push) Waiting to run
CI Build & Deploy Pipeline / Build Production API Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (push) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (push) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (push) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (push) Has been skipped
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com> Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
"""backfill user_id for generated_videos from generation_tasks
|
|
|
|
Revision ID: 045_backfill_user_id_generated_videos
|
|
Revises: 044_user_id_generated_videos
|
|
Create Date: 2026-07-19 10:50:00.000000
|
|
|
|
"""
|
|
|
|
import sqlalchemy as sa
|
|
|
|
from alembic import op
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = "045_backfill_user_id"
|
|
down_revision = "044_user_id_generated_videos"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
# 回填 generated_videos.user_id:通过 generation_task_id 关联 generation_tasks 表
|
|
# 取 generation_tasks.created_by_user_id 作为 user_id
|
|
# 回填不到的(无关联task的兜底记录)保持空字符串
|
|
op.execute("""
|
|
UPDATE generated_videos gv
|
|
SET user_id = gt.created_by_user_id
|
|
FROM generation_tasks gt
|
|
WHERE gv.generation_task_id = gt.id
|
|
AND gv.user_id = ''
|
|
AND gt.created_by_user_id != ''
|
|
""")
|
|
|
|
|
|
def downgrade() -> None:
|
|
# 降级不做处理(无法精确区分哪些是回填的)
|
|
pass
|