<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class Task2103261150 extends AbstractMigration
{
    public function up(): void
    {
        $create = <<<SQL
            CREATE TABLE seguro.propostas_cotacao_agritask (
                id_proposta INTEGER NOT NULL,
                id_cotacao VARCHAR(50) NOT NULL,
                vl_premio NUMERIC(14,2),
	
                CONSTRAINT pk_propostas_cotacao_agritask PRIMARY KEY (id_proposta),
                CONSTRAINT fk_propostas_cotacao_agritask FOREIGN KEY (id_proposta)
                    REFERENCES seguro.propostas (id)
            ) INHERITS (public.campos_default);

            ALTER TABLE seguro.propostas_proponentes ALTER COLUMN ds_sexo DROP NOT NULL;
            
            ALTER TABLE seguro.proponentes ALTER COLUMN ds_sexo DROP NOT NULL;

            ALTER TABLE seguro.propostas_proponentes ALTER COLUMN id_estado_civil DROP NOT NULL;

            ALTER TABLE seguro.propostas_proponentes ALTER COLUMN ds_sexo DROP NOT NULL;

            ALTER TABLE seguro.propostas_proponentes ALTER COLUMN ds_endereco_rua DROP NOT NULL;

            ALTER TABLE seguro.propostas_proponentes ALTER COLUMN ds_endereco_nro DROP NOT NULL;

            ALTER TABLE seguro.propostas_proponentes ALTER COLUMN ds_endereco_bairro DROP NOT NULL;

            ALTER TABLE seguro.propostas_proponentes ALTER COLUMN ds_endereco_cep DROP NOT NULL;

SQL;
        
        $this->execute($create);

    }

    public function down(): void
    {
        $drop = <<<SQL
                DROP TABLE seguro.propostas_cotacao_agritask;
SQL;
        
        $this->execute($drop);
    }
}
