"""waitlist varchar columns to upgrade to 1000

Revision ID: a1b2c3d4e5f6
Revises: 2fd8c4e5afb9
Create Date: 2026-02-16

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


revision: str = "a1b2c3d4e5f6"
down_revision: Union[str, Sequence[str], None] = "2fd8c4e5afb9"
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    op.alter_column(
        "waitlist", "full_name",
        existing_type=sa.String(200),
        type_=sa.String(1000),
        existing_nullable=False,
    )
    op.alter_column(
        "waitlist", "phone",
        existing_type=sa.String(20),
        type_=sa.String(32),
        existing_nullable=False,
    )
    op.alter_column(
        "waitlist", "whatsapp_phone",
        existing_type=sa.String(20),
        type_=sa.String(32),
        existing_nullable=True,
    )
    op.alter_column(
        "waitlist", "lga",
        existing_type=sa.String(100),
        type_=sa.String(255),
        existing_nullable=False,
    )
    op.alter_column(
        "waitlist", "qualification",
        existing_type=sa.String(50),
        type_=sa.String(1000),
        existing_nullable=False,
    )
    op.alter_column(
        "waitlist", "source",
        existing_type=sa.String(20),
        type_=sa.String(1000),
        existing_nullable=True,
    )
    op.alter_column(
        "waitlist", "source_name",
        existing_type=sa.String(255),
        type_=sa.String(1000),
        existing_nullable=True,
    )
    op.alter_column(
        "waitlist", "status",
        existing_type=sa.String(20),
        type_=sa.String(50),
        existing_nullable=False,
    )


def downgrade() -> None:
    op.alter_column(
        "waitlist", "full_name",
        existing_type=sa.String(1000),
        type_=sa.String(200),
        existing_nullable=False,
    )
    op.alter_column(
        "waitlist", "phone",
        existing_type=sa.String(32),
        type_=sa.String(20),
        existing_nullable=False,
    )
    op.alter_column(
        "waitlist", "whatsapp_phone",
        existing_type=sa.String(32),
        type_=sa.String(20),
        existing_nullable=True,
    )
    op.alter_column(
        "waitlist", "lga",
        existing_type=sa.String(255),
        type_=sa.String(100),
        existing_nullable=False,
    )
    op.alter_column(
        "waitlist", "qualification",
        existing_type=sa.String(1000),
        type_=sa.String(50),
        existing_nullable=False,
    )
    op.alter_column(
        "waitlist", "source",
        existing_type=sa.String(1000),
        type_=sa.String(20),
        existing_nullable=True,
    )
    op.alter_column(
        "waitlist", "source_name",
        existing_type=sa.String(1000),
        type_=sa.String(255),
        existing_nullable=True,
    )
    op.alter_column(
        "waitlist", "status",
        existing_type=sa.String(50),
        type_=sa.String(20),
        existing_nullable=False,
    )
