from collections.abc import Sequence

import sqlalchemy as sa
from alembic import op

revision: str = '002'
down_revision: str | None = '001'
branch_labels: str | Sequence[str] | None = None
depends_on: str | Sequence[str] | None = None

def upgrade() -> None:
    op.create_table('tax_document_versions', sa.Column('id', sa.Integer(), nullable=False), sa.Column('doc_id', sa.Integer(), nullable=False), sa.Column('version_number', sa.Integer(), nullable=False), sa.Column('content_markdown', sa.Text(), nullable=True), sa.Column('created_at', sa.DateTime(), server_default=sa.text('now()'), nullable=True), sa.ForeignKeyConstraint(['doc_id'], ['data_center.tax_documents.id'], ondelete='CASCADE'), sa.PrimaryKeyConstraint('id'), sa.UniqueConstraint('doc_id', 'version_number', name='uq_docver_doc_version'), schema='data_center')
    op.create_index('idx_docver_doc_id', 'tax_document_versions', ['doc_id'], schema='data_center')
    op.create_index(op.f('ix_tax_document_versions_id'), 'tax_document_versions', ['id'], schema='data_center')

def downgrade() -> None:
    op.drop_index('idx_docver_doc_id', table_name='tax_document_versions', schema='data_center')
    op.drop_index(op.f('ix_tax_document_versions_id'), table_name='tax_document_versions', schema='data_center')
    op.drop_table('tax_document_versions', schema='data_center')
