"""Add transcoding fields to project Revision ID: b285d3e421f6 Revises: a175c1c319c5 Create Date: 2026-02-08 19:48:00.000000 """ from alembic import op import sqlalchemy as sa import sqlmodel.sql.sqltypes # revision identifiers, used by Alembic. revision = 'b285d3e421f6' down_revision = 'a175c1c319c5' branch_labels = None depends_on = None def upgrade(): # Create TranscodingStatus enum with UPPERCASE values to match other enums op.execute("CREATE TYPE transcodingstatus AS ENUM ('PENDING', 'PROCESSING', 'COMPLETE', 'FAILED', 'NOT_NEEDED')") # Add transcoding fields to project table op.add_column('project', sa.Column('transcoded_path', sqlmodel.sql.sqltypes.AutoString(length=1024), nullable=True)) op.add_column('project', sa.Column('transcoding_status', sa.Enum('PENDING', 'PROCESSING', 'COMPLETE', 'FAILED', 'NOT_NEEDED', name='transcodingstatus', create_type=False), nullable=False, server_default='PENDING')) op.add_column('project', sa.Column('transcoding_error', sqlmodel.sql.sqltypes.AutoString(length=2048), nullable=True)) def downgrade(): # Remove transcoding fields from project table op.drop_column('project', 'transcoding_error') op.drop_column('project', 'transcoding_status') op.drop_column('project', 'transcoded_path') # Drop TranscodingStatus enum op.execute("DROP TYPE transcodingstatus")