"""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