9d3a8852e5
CI/CD Pipeline / Check if frontend-only change (push) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (push) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (push) Has been cancelled
CI/CD Pipeline / Validate - Migration (alembic) (push) Has been cancelled
CI/CD Pipeline / Unit Tests (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (push) Has been cancelled
CI/CD Pipeline / PR Build API Image (push) Has been cancelled
CI/CD Pipeline / PR Build Web Image (push) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (push) Has been cancelled
CI/CD Pipeline / Build Staging API Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Web Image (push) Has been cancelled
CI/CD Pipeline / Build Staging Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (push) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (push) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (push) Has been cancelled
CI/CD Pipeline / Build Production API Image (push) Has been cancelled
CI/CD Pipeline / Build Production Web Image (push) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (push) Has been cancelled
CI/CD Pipeline / Deploy Production (push) Has been cancelled
CI/CD Pipeline / Production Browser E2E (push) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (push) Has been cancelled
Co-authored-by: xiaoxia <dev@xiaoxiajianji.com> Co-committed-by: xiaoxia <dev@xiaoxiajianji.com>
54 lines
1.4 KiB
Python
Executable File
54 lines
1.4 KiB
Python
Executable File
"""#632 - 一键生成输出分辨率可配置
|
||
|
||
Revision ID: 051
|
||
Revises: 050
|
||
Create Date: 2026-07-23
|
||
|
||
Changes:
|
||
1. generation_tasks 表新增 resolution 字段,存储用户指定的输出分辨率(如 "1280x720")
|
||
2. 为空时使用默认值(1280x720)
|
||
"""
|
||
|
||
import sqlalchemy as sa
|
||
|
||
from alembic import context, op
|
||
|
||
revision = "051_generation_task_resolution"
|
||
down_revision = "050_video_shares"
|
||
branch_labels = None
|
||
depends_on = None
|
||
|
||
|
||
def upgrade() -> None:
|
||
conn = op.get_bind()
|
||
if context.get_context().dialect.name == "postgresql":
|
||
# 检查列是否已存在(幂等)
|
||
result = conn.execute(
|
||
sa.text(
|
||
"SELECT column_name FROM information_schema.columns "
|
||
"WHERE table_name = 'generation_tasks' AND column_name = 'resolution'"
|
||
)
|
||
)
|
||
if result.scalar() is not None:
|
||
return
|
||
|
||
op.add_column(
|
||
"generation_tasks",
|
||
sa.Column("resolution", sa.String(20), nullable=False, server_default=""),
|
||
)
|
||
|
||
|
||
def downgrade() -> None:
|
||
conn = op.get_bind()
|
||
if context.get_context().dialect.name == "postgresql":
|
||
result = conn.execute(
|
||
sa.text(
|
||
"SELECT column_name FROM information_schema.columns "
|
||
"WHERE table_name = 'generation_tasks' AND column_name = 'resolution'"
|
||
)
|
||
)
|
||
if result.scalar() is None:
|
||
return
|
||
|
||
op.drop_column("generation_tasks", "resolution")
|