"""Add social_video table for Artist Socials feature Revision ID: b1c4d7f38a90 Revises: a8f3b92c1d04 Create Date: 2026-06-02 12:00:00.000000 """ import sqlalchemy as sa import sqlmodel.sql.sqltypes from alembic import op revision = 'b1c4d7f38a90' down_revision = 'c3f8e1a29b05' branch_labels = None depends_on = None def upgrade(): op.create_table( 'socialvideo', sa.Column('id', sa.Uuid(), nullable=False), sa.Column('artist_slug', sqlmodel.sql.sqltypes.AutoString(length=100), nullable=False), sa.Column('filename', sqlmodel.sql.sqltypes.AutoString(length=500), nullable=False), sa.Column('video_path', sqlmodel.sql.sqltypes.AutoString(length=1000), nullable=False), sa.Column('video_id', sqlmodel.sql.sqltypes.AutoString(length=100), nullable=True), sa.Column('video_duration', sa.Integer(), nullable=True), sa.Column('author_name', sqlmodel.sql.sqltypes.AutoString(length=255), nullable=True), sa.Column('author_username', sqlmodel.sql.sqltypes.AutoString(length=100), nullable=True), sa.Column('video_description', sqlmodel.sql.sqltypes.AutoString(length=2000), nullable=True), sa.Column('video_playcount', sa.Integer(), nullable=True), sa.Column('qualification_status', sa.Enum('PENDING', 'PROCESSING', 'QUALIFIED', 'DISQUALIFIED', name='qualificationstatus'), nullable=False), sa.Column('is_qualified', sa.Boolean(), nullable=True), sa.Column('disqualification_reason', sqlmodel.sql.sqltypes.AutoString(length=500), nullable=True), sa.Column('analyzed_at', sa.DateTime(timezone=True), nullable=True), sa.Column('created_at', sa.DateTime(timezone=True), nullable=False), sa.PrimaryKeyConstraint('id'), ) op.create_index(op.f('ix_socialvideo_artist_slug'), 'socialvideo', ['artist_slug'], unique=False) def downgrade(): op.drop_index(op.f('ix_socialvideo_artist_slug'), table_name='socialvideo') op.drop_table('socialvideo') op.execute("DROP TYPE IF EXISTS qualificationstatus")