"""add description to merchant_discount

Revision ID: a1b2c3d4e5f7
Revises: e7f8a9b0c1d2
Create Date: 2026-03-17 00:00:00.000000

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa
from sqlalchemy import inspect as sa_inspect


# revision identifiers, used by Alembic.
revision: str = 'a1b2c3d4e5f7'
down_revision: Union[str, Sequence[str], None] = 'e7f8a9b0c1d2'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    conn = op.get_bind()
    existing_columns = {c['name'] for c in sa_inspect(conn).get_columns('merchant_discount')}
    if 'description' not in existing_columns:
        op.add_column('merchant_discount', sa.Column('description', sa.Text(), nullable=True))


def downgrade() -> None:
    op.drop_column('merchant_discount', 'description')
