58 lines
3.2 KiB
Python
58 lines
3.2 KiB
Python
"""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")
|