collabrix/backend/alembic/versions/0002_create_direct_message_attachment_table.py

43 lines
1.5 KiB
Python

"""Create direct_message_attachment table
Revision ID: 0002
Revises: 0001
Create Date: 2025-12-12 22:00:00.000000
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '0002'
down_revision = '0001'
branch_labels = None
depends_on = None
def upgrade() -> None:
# Create direct_message_attachment table
op.create_table(
'direct_message_attachment',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('filename', sa.String(), nullable=False),
sa.Column('original_filename', sa.String(), nullable=False),
sa.Column('mime_type', sa.String(), nullable=False),
sa.Column('file_size', sa.Integer(), nullable=False),
sa.Column('file_path', sa.String(), nullable=False),
sa.Column('direct_message_id', sa.Integer(), nullable=False),
sa.Column('uploader_id', sa.Integer(), nullable=True),
sa.Column('webdav_path', sa.String(), nullable=True),
sa.Column('upload_permission', sa.String(), nullable=False, server_default='read'),
sa.Column('is_editable', sa.Boolean(), nullable=False, server_default='false'),
sa.Column('uploaded_at', sa.DateTime(), nullable=False, server_default=sa.func.now()),
sa.ForeignKeyConstraint(['direct_message_id'], ['direct_message.id'], ),
sa.ForeignKeyConstraint(['uploader_id'], ['user.id'], ),
sa.PrimaryKeyConstraint('id')
)
def downgrade() -> None:
op.drop_table('direct_message_attachment')