"""investimento mkt por cenario e desconto por cenario

Revision ID: 898afd3b600b
Revises: 986409c72046
Create Date: 2026-09-18 00:15:00.000000

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


# revision identifiers, used by Alembic.
revision: str = '898afd3b600b'
down_revision: Union[str, None] = '986409c72046'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
    op.add_column('verba_marketing', sa.Column('cenario_id', sa.Integer(), nullable=True))
    op.create_foreign_key(
        'verba_marketing_cenario_id_fkey', 'verba_marketing', 'cenario_precificacao', ['cenario_id'], ['id']
    )

    op.add_column('regra_de_margem', sa.Column('percentual_desconto', sa.Numeric(precision=6, scale=4), nullable=True))
    op.execute(
        "UPDATE regra_de_margem SET percentual_desconto = 0 WHERE percentual_desconto IS NULL"
    )
    op.alter_column('regra_de_margem', 'percentual_desconto', nullable=False)


def downgrade() -> None:
    op.drop_column('regra_de_margem', 'percentual_desconto')

    op.drop_constraint('verba_marketing_cenario_id_fkey', 'verba_marketing', type_='foreignkey')
    op.drop_column('verba_marketing', 'cenario_id')
