"""ineficiencia no custeio: variavel nao alocado (execucao) e custo de ineficiencia unitario (produto)

Revision ID: b9d4f27e6a13
Revises: a7c3e9d15b42
Create Date: 2026-10-28 09:00:00.000000

Execucoes antigas ficam com 0 e nao mudam de numero; so um novo custeio aplica a regra.
"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


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


def upgrade() -> None:
    op.add_column('custeio_execucao', sa.Column('variavel_nao_alocado', sa.Numeric(14, 6), server_default='0', nullable=False))
    op.add_column('custeio_produto', sa.Column('custo_ineficiencia_unitario', sa.Numeric(14, 6), server_default='0', nullable=False))


def downgrade() -> None:
    op.drop_column('custeio_produto', 'custo_ineficiencia_unitario')
    op.drop_column('custeio_execucao', 'variavel_nao_alocado')
