"""tabela de preco

Revision ID: 9774f406af3f
Revises: b6889ef1de1d
Create Date: 2026-09-17 17:51:15.371710

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa


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


def upgrade() -> None:
    op.create_table(
        'tabela_de_preco',
        sa.Column('id', sa.Integer(), nullable=False),
        sa.Column('produto_id', sa.Integer(), nullable=False),
        sa.Column('cenario_id', sa.Integer(), nullable=False),
        sa.Column('vigencia', sa.Date(), nullable=False),
        sa.Column('preco_sugerido', sa.Numeric(precision=14, scale=6), nullable=False),
        sa.Column('preco_praticado', sa.Numeric(precision=14, scale=6), nullable=False),
        sa.ForeignKeyConstraint(['produto_id'], ['produto.id'], ),
        sa.ForeignKeyConstraint(['cenario_id'], ['cenario_precificacao.id'], ),
        sa.PrimaryKeyConstraint('id'),
        sa.UniqueConstraint('produto_id', 'cenario_id', 'vigencia', name='uq_tabela_de_preco'),
    )


def downgrade() -> None:
    op.drop_table('tabela_de_preco')
