"""extend repair documents Revision ID: a1c5f9e2d430 Revises: f2b8d4e6a910 Create Date: 2026-07-05 09:00:00.000000 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa revision: str = "a1c5f9e2d430" down_revision: Union[str, Sequence[str], None] = "f2b8d4e6a910" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.add_column("repair_documents", sa.Column("original_filename", sa.String(length=255), server_default="", nullable=False)) op.add_column("repair_documents", sa.Column("stored_filename", sa.String(length=255), server_default="", nullable=False)) op.alter_column("repair_documents", "storage_path", existing_type=sa.String(length=500), server_default="", nullable=False) op.add_column("repair_documents", sa.Column("mime_type", sa.String(length=120), server_default="", nullable=False)) op.add_column("repair_documents", sa.Column("size_bytes", sa.BigInteger(), server_default="0", nullable=False)) op.add_column("repair_documents", sa.Column("checksum_sha256", sa.String(length=64), server_default="", nullable=False)) op.add_column("repair_documents", sa.Column("visibility", sa.String(length=40), server_default="internal", nullable=False)) op.add_column("repair_documents", sa.Column("note", sa.Text(), nullable=True)) op.add_column("repair_documents", sa.Column("uploaded_by_user_id", sa.Integer(), nullable=True)) op.add_column("repair_documents", sa.Column("updated_at", sa.DateTime(timezone=True), server_default=sa.func.now(), nullable=False)) op.create_foreign_key( op.f("fk_repair_documents_uploaded_by_user_id_users"), "repair_documents", "users", ["uploaded_by_user_id"], ["id"], ondelete="SET NULL", ) op.create_index(op.f("ix_repair_documents_checksum_sha256"), "repair_documents", ["checksum_sha256"], unique=False) op.create_index(op.f("ix_repair_documents_uploaded_by_user_id"), "repair_documents", ["uploaded_by_user_id"], unique=False) op.create_index(op.f("ix_repair_documents_visibility"), "repair_documents", ["visibility"], unique=False) def downgrade() -> None: op.drop_index(op.f("ix_repair_documents_visibility"), table_name="repair_documents") op.drop_index(op.f("ix_repair_documents_uploaded_by_user_id"), table_name="repair_documents") op.drop_index(op.f("ix_repair_documents_checksum_sha256"), table_name="repair_documents") op.drop_constraint(op.f("fk_repair_documents_uploaded_by_user_id_users"), "repair_documents", type_="foreignkey") op.drop_column("repair_documents", "updated_at") op.drop_column("repair_documents", "uploaded_by_user_id") op.drop_column("repair_documents", "note") op.drop_column("repair_documents", "visibility") op.drop_column("repair_documents", "checksum_sha256") op.drop_column("repair_documents", "size_bytes") op.drop_column("repair_documents", "mime_type") op.alter_column("repair_documents", "storage_path", existing_type=sa.String(length=500), nullable=True, server_default=None) op.drop_column("repair_documents", "stored_filename") op.drop_column("repair_documents", "original_filename")