"""Migration for ncds Revision ID: auto Revises: None Create Date: auto """ from alembic import op import sqlalchemy as sa from sqlalchemy.dialects import postgresql # revision identifiers, used by Alembic. revision = 'auto' down_revision = None branch_labels = None depends_on = None def upgrade() -> None: op.create_table( 'ncds', sa.Column('id', postgresql.UUID(as_uuid=True), primary_key=True, nullable=False), sa.Column('ncd_id', sa.String(20), nullable=False, unique=True), sa.Column('title', sa.String(500), nullable=False), sa.Column('coverage_description', sa.Text(), nullable=False), sa.Column('indications_and_limitations', sa.Text(), nullable=True), sa.Column('covered_cpt_codes', postgresql.JSONB(), nullable=True), sa.Column('covered_icd10_codes', postgresql.JSONB(), nullable=True), sa.Column('effective_date', sa.Date(), nullable=False), sa.Column('termination_date', sa.Date(), nullable=True), sa.Column('last_review_date', sa.Date(), nullable=True), sa.Column('document_url', sa.String(500), nullable=True), sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False), sa.Column('updated_at', sa.DateTime(timezone=True), server_default=sa.text('CURRENT_TIMESTAMP'), onupdate=sa.text('CURRENT_TIMESTAMP'), nullable=False), ) op.create_index( 'idx_ncds_ncd_id', 'ncds', ['ncd_id'], unique=True ) op.create_index( 'idx_ncds_is_active_effective_date', 'ncds', ['is_active', 'effective_date'], ) def downgrade() -> None: op.drop_index('idx_ncds_ncd_id', table_name='ncds') op.drop_index('idx_ncds_is_active_effective_date', table_name='ncds') op.drop_table('ncds')