<?php

declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class TaskInc59152 extends AbstractMigration
{
    public function up()
    {
        $this->execute(<<<SQL
            CREATE TABLE comercializacao.taxa_agrupamento_item_segurado_valor_tonelada (
                id_taxa_agrupamento INTEGER,
                id_item_segurado INTEGER,
                vl_tonelada NUMERIC(7, 2),
                CONSTRAINT pk_taxa_agrupamento_orcamento_item_valor_tonelada PRIMARY KEY (id_taxa_agrupamento, id_item_segurado),
                CONSTRAINT fk_id_taxa_agrupamento FOREIGN KEY (id_taxa_agrupamento) REFERENCES comercializacao.taxas_agrupamento (id)
                    ON DELETE CASCADE,
                CONSTRAINT fk_id_item_segurado FOREIGN KEY (id_item_segurado) REFERENCES seguro.itens_segurados (id) ON DELETE CASCADE
            ) INHERITS (public.campos_default);
            
            ALTER TABLE comercializacao.taxas_agrupamento ADD COLUMN fl_valor_tonelada_por_item BOOLEAN DEFAULT FALSE;
SQL
        );
    }
    
    public function down()
    {
         $this->execute(<<<SQL
            DROP TABLE comercializacao.taxa_agrupamento_item_segurado_valor_tonelada;
            ALTER TABLE comercializacao.taxas_agrupamento DROP COLUMN fl_valor_tonelada_por_item;
SQL
        );
    }
}
