<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class TaskSR53731 extends AbstractMigration
{
    public function up(): void
    {
        $this->execute(<<<SQL
CREATE TABLE log.laudos_preliminares_historico(
    id SERIAL,
    id_laudo_preliminar INTEGER NOT NULL,
    ds_acao VARCHAR(30) NOT NULL,
    CONSTRAINT pk_laudos_preliminares_historico PRIMARY KEY (id),
    CONSTRAINT fk_laudos_preliminares_historico_laudos_preliminares FOREIGN KEY (id_laudo_preliminar) REFERENCES sinistro.laudos_preliminares (id),
    CONSTRAINT ds_acao_check CHECK (ds_acao IN ('Devolver', 'Enviar', 'Salvar'))
 ) INHERITS (public.campos_default);

CREATE TABLE log.laudos_finais_historico(
    id SERIAL,
    id_laudo_final INTEGER NOT NULL,
    ds_acao VARCHAR(30) NOT NULL,
    CONSTRAINT pk_laudos_finais_historico PRIMARY KEY (id),
    CONSTRAINT fk_laudos_finais_historico_laudos_finais FOREIGN KEY (id_laudo_final) REFERENCES sinistro.laudos_finais (id),
    CONSTRAINT ds_acao_check CHECK (ds_acao IN ('Devolver', 'Enviar', 'Salvar'))
 ) INHERITS (public.campos_default);
SQL
        );
    }

    public function down(): void
    {
        $this->execute(<<<SQL
DROP TABLE log.laudos_preliminares_historico;
DROP TABLE log.laudos_finais_historico;
SQL
        );
    }
}
