"""add_deleted_at_to_tasks Revision ID: f3d499f5d0cf Revises: g2b3c4d5e6f7 Create Date: 2025-12-14 12:17:25.176482 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = 'f3d499f5d0cf' down_revision: Union[str, None] = 'g2b3c4d5e6f7' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Add deleted_at column for soft delete support.""" op.add_column( 'tool_ocr_tasks', sa.Column('deleted_at', sa.DateTime(), nullable=True, comment='Soft delete timestamp - NULL means not deleted') ) op.create_index('ix_tool_ocr_tasks_deleted_at', 'tool_ocr_tasks', ['deleted_at']) def downgrade() -> None: """Remove deleted_at column.""" op.drop_index('ix_tool_ocr_tasks_deleted_at', table_name='tool_ocr_tasks') op.drop_column('tool_ocr_tasks', 'deleted_at')