"""update topic course relationships

Revision ID: fa7d84c6ad8
Revises: f9e7d84c6ad7
Create Date: 2025-09-18 00:00:00.000000

"""
from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision = 'fa7d84c6ad8'
down_revision = 'f9e7d84c6ad7'
branch_labels = None
depends_on = None


def upgrade():
    # Add course_type column
    with op.batch_alter_table('topics') as batch_op:
        batch_op.add_column(sa.Column('course_type', sa.String(20), nullable=True))
        # Make course_id not nullable after adding course_type
        # We'll update existing records in the application layer
        batch_op.alter_column('course_id',
                            existing_type=sa.Integer(),
                            nullable=False)


def downgrade():
    with op.batch_alter_table('topics') as batch_op:
        batch_op.drop_column('course_type')
        batch_op.alter_column('course_id',
                            existing_type=sa.Integer(),
                            nullable=True)