"""Widen parts.part_number to fit the real source data.

Mike's export uses a free-text description as the part number for some
non-catalogue items (the longest observed is 71 characters:
'39" long 0.20" Safari headless Rods Natural PP cut incline to leg ...').
64 was a guess; 128 is measured with headroom.

Revision ID: 0002
Revises: 0001
Create Date: 2026-07-30
"""

from __future__ import annotations

import sqlalchemy as sa
from alembic import op

revision = "0002"
down_revision = "0001"
branch_labels = None
depends_on = None


def upgrade() -> None:
    op.alter_column(
        "parts",
        "part_number",
        existing_type=sa.String(64),
        type_=sa.String(128),
        existing_nullable=False,
    )


def downgrade() -> None:
    op.alter_column(
        "parts",
        "part_number",
        existing_type=sa.String(128),
        type_=sa.String(64),
        existing_nullable=False,
    )
