"""media Revision ID: 7fc7024ef432 Revises: 1f6e54f6406a Create Date: 2026-06-06 21:44:03.204170 """ from collections.abc import Sequence from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = '7fc7024ef432' down_revision: str | None = '1f6e54f6406a' branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### op.create_table('media', sa.Column('uploader_id', sa.Uuid(), nullable=True), sa.Column('storage_key', sa.String(length=512), nullable=False), sa.Column('original_filename', sa.String(length=512), nullable=False), sa.Column('content_type', sa.String(length=128), nullable=False), sa.Column('byte_size', sa.BigInteger(), nullable=False), sa.Column('checksum_sha256', sa.String(length=64), nullable=False), sa.Column('title', sa.String(length=512), nullable=True), sa.Column('person_id', sa.Uuid(), nullable=True), sa.Column('event_id', sa.Uuid(), nullable=True), sa.Column('source_id', sa.Uuid(), nullable=True), sa.Column('id', sa.Uuid(), nullable=False), sa.Column('tree_id', sa.Uuid(), nullable=False), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False), sa.Column('updated_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False), sa.Column('deleted_at', sa.DateTime(timezone=True), nullable=True), sa.ForeignKeyConstraint(['event_id'], ['events.id'], name=op.f('fk_media_event_id_events'), ondelete='SET NULL'), sa.ForeignKeyConstraint(['person_id'], ['persons.id'], name=op.f('fk_media_person_id_persons'), ondelete='SET NULL'), sa.ForeignKeyConstraint(['source_id'], ['sources.id'], name=op.f('fk_media_source_id_sources'), ondelete='SET NULL'), sa.ForeignKeyConstraint(['tree_id'], ['trees.id'], name=op.f('fk_media_tree_id_trees'), ondelete='CASCADE'), sa.ForeignKeyConstraint(['uploader_id'], ['users.id'], name=op.f('fk_media_uploader_id_users'), ondelete='SET NULL'), sa.PrimaryKeyConstraint('id', name=op.f('pk_media')), sa.UniqueConstraint('storage_key', name=op.f('uq_media_storage_key')) ) op.create_index(op.f('ix_media_checksum_sha256'), 'media', ['checksum_sha256'], unique=False) op.create_index(op.f('ix_media_event_id'), 'media', ['event_id'], unique=False) op.create_index(op.f('ix_media_person_id'), 'media', ['person_id'], unique=False) op.create_index(op.f('ix_media_source_id'), 'media', ['source_id'], unique=False) op.create_index(op.f('ix_media_tree_id'), 'media', ['tree_id'], unique=False) op.create_index(op.f('ix_media_uploader_id'), 'media', ['uploader_id'], unique=False) # ### end Alembic commands ### def downgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### op.drop_index(op.f('ix_media_uploader_id'), table_name='media') op.drop_index(op.f('ix_media_tree_id'), table_name='media') op.drop_index(op.f('ix_media_source_id'), table_name='media') op.drop_index(op.f('ix_media_person_id'), table_name='media') op.drop_index(op.f('ix_media_event_id'), table_name='media') op.drop_index(op.f('ix_media_checksum_sha256'), table_name='media') op.drop_table('media') # ### end Alembic commands ###