"""add cedula and remove company_name from clients

Revision ID: 0003_add_cedula_and_remove_companyname
Revises: 0002_add_consumed_at
Create Date: 2026-08-12 00:00:00.000000
"""
from alembic import op
import sqlalchemy as sa

# revision identifiers, used by Alembic.
revision = '0003_add_cedula_and_remove_companyname'
down_revision = '0002_add_consumed_at'
branch_labels = None
depends_on = None


def upgrade():
    # add cedula column
    op.add_column('clients', sa.Column('cedula', sa.String(length=20), nullable=True))
    # create unique index on cedula
    op.create_index('uq_clients_cedula', 'clients', ['cedula'], unique=True)
    # remove company_name column if exists
    with op.get_context().autocommit_block():
        try:
            op.drop_column('clients', 'company_name')
        except Exception:
            # column may not exist; ignore
            pass


def downgrade():
    # add company_name back
    op.add_column('clients', sa.Column('company_name', sa.String(length=255), nullable=True))
    # drop cedula index and column
    try:
        op.drop_index('uq_clients_cedula', table_name='clients')
    except Exception:
        pass
    try:
        op.drop_column('clients', 'cedula')
    except Exception:
        pass
