"""Add download tracking fields to VideoEntry Revision ID: 1b18a0e65b0d Revises: 270efe6976bc Create Date: 2025-11-26 14:01:41.900938 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = '1b18a0e65b0d' down_revision: Union[str, Sequence[str], None] = '270efe6976bc' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.add_column('video_entries', sa.Column('download_status', sa.Enum('PENDING', 'DOWNLOADING', 'COMPLETED', 'FAILED', name='downloadstatus'), nullable=False)) op.add_column('video_entries', sa.Column('download_path', sa.String(length=1000), nullable=True)) op.add_column('video_entries', sa.Column('download_started_at', sa.DateTime(), nullable=True)) op.add_column('video_entries', sa.Column('download_completed_at', sa.DateTime(), nullable=True)) op.add_column('video_entries', sa.Column('download_error', sa.String(length=2000), nullable=True)) op.add_column('video_entries', sa.Column('file_size', sa.BigInteger(), nullable=True)) op.create_index('idx_download_status', 'video_entries', ['download_status'], unique=False) # ### end Alembic commands ### def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.drop_index('idx_download_status', table_name='video_entries') op.drop_column('video_entries', 'file_size') op.drop_column('video_entries', 'download_error') op.drop_column('video_entries', 'download_completed_at') op.drop_column('video_entries', 'download_started_at') op.drop_column('video_entries', 'download_path') op.drop_column('video_entries', 'download_status') # ### end Alembic commands ###