"""Simplify WebCrawler model

Revision ID: 06e99854de2c
Revises: 00082cb6be1c
Create Date: 2025-07-10 16:17:03.943633

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '06e99854de2c'
down_revision: Union[str, None] = '00082cb6be1c'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    """Upgrade schema."""
    # ### commands auto generated by Alembic - please adjust! ###
    op.alter_column('users', 'is_active',
               existing_type=sa.BOOLEAN(),
               nullable=False)
    op.alter_column('web_crawlers', 'code',
               existing_type=sa.VARCHAR(length=100),
               nullable=False)
    op.alter_column('web_crawlers', 'delimiter',
               existing_type=sa.VARCHAR(length=10),
               nullable=False)
    op.alter_column('web_crawlers', 'name',
               existing_type=sa.VARCHAR(length=255),
               nullable=False)
    op.alter_column('web_crawlers', 'output_delimiter',
               existing_type=sa.VARCHAR(length=10),
               nullable=False)
    op.alter_column('web_crawlers', 'status',
               existing_type=sa.VARCHAR(length=50),
               nullable=False)
    op.alter_column('web_crawlers', 'url',
               existing_type=sa.TEXT(),
               nullable=False)
    op.drop_constraint('web_crawlers_country_id_fkey', 'web_crawlers', type_='foreignkey')
    op.drop_column('web_crawlers', 'country_id')
    # ### end Alembic commands ###


def downgrade() -> None:
    """Downgrade schema."""
    # ### commands auto generated by Alembic - please adjust! ###
    op.add_column('web_crawlers', sa.Column('country_id', sa.INTEGER(), autoincrement=False, nullable=True))
    op.create_foreign_key('web_crawlers_country_id_fkey', 'web_crawlers', 'countries', ['country_id'], ['id'], ondelete='CASCADE')
    op.alter_column('web_crawlers', 'url',
               existing_type=sa.TEXT(),
               nullable=True)
    op.alter_column('web_crawlers', 'status',
               existing_type=sa.VARCHAR(length=50),
               nullable=True)
    op.alter_column('web_crawlers', 'output_delimiter',
               existing_type=sa.VARCHAR(length=10),
               nullable=True)
    op.alter_column('web_crawlers', 'name',
               existing_type=sa.VARCHAR(length=255),
               nullable=True)
    op.alter_column('web_crawlers', 'delimiter',
               existing_type=sa.VARCHAR(length=10),
               nullable=True)
    op.alter_column('web_crawlers', 'code',
               existing_type=sa.VARCHAR(length=100),
               nullable=True)
    op.alter_column('users', 'is_active',
               existing_type=sa.BOOLEAN(),
               nullable=True)
    # ### end Alembic commands ###
