<?php

declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class TaskSr59389 extends AbstractMigration
{
    public function up()
    {
        $sql = <<<SQL
            INSERT INTO sistema.configuracao_sistema (ds_nome, ds_valor, id_usuario_criacao)
            SELECT 'DATA_CORTE_ENVIO_PDF_ECM', TO_CHAR(NOW(), 'YYYY-MM-DD HH24:MI:SS'), 2068
            WHERE NOT EXISTS (
                SELECT 1 FROM sistema.configuracao_sistema WHERE ds_nome = 'DATA_CORTE_ENVIO_PDF_ECM'
            );

            CREATE TABLE log.envio_formulario_ecm_plug_essor (
                id SERIAL,
                id_proposta INTEGER NOT NULL,
                id_endosso_erp INTEGER,
                id_documento INTEGER,
                ds_chave_tipo_envio VARCHAR(60),
                fl_sucesso_envio BOOLEAN,
                ds_nome_arquivo VARCHAR(90),
                json_erro JSONB,
                CONSTRAINT fk_id_proposta FOREIGN KEY (id_proposta) REFERENCES seguro.propostas (id)
            ) INHERITS (public.campos_default);

            COMMENT ON COLUMN log.envio_formulario_ecm_plug_essor.ds_chave_tipo_envio IS 'Tipos: COTACAO, PROPOSTA E APOLICE';
            COMMENT ON COLUMN log.envio_formulario_ecm_plug_essor.id_documento IS 'ID documento retornado pelo ECM';
SQL;

        $this->execute($sql);
    }

    public function down()
    {
        $sql = <<<SQL
            DROP TABLE envio_formulario_ecm_plug_essor;
SQL;

        $this->execute($sql);
    }
}
