<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class Task2301121622 extends AbstractMigration
{
    public function up(): void
    {
        $this->execute(<<<SQL
INSERT INTO sistema.acao (ds_label, ds_module, ds_controller, ds_action, ds_param, id_parent, ds_image, ds_descricao, fl_tipo, dt_criacao, id_usuario_criacao, id) VALUES ('Relatório de Vistorias Prévias (Custos do Perito)', 'relatorio', 'sinistro', 'vistoriaspreviascustosperito', 'formvistoriapreviacustosperito', 332, '', 'Relatório de Vistorias Prévias (Custos do Perito)', 'R', '2023-01-18 09:40:48', 3379, nextval('sistema.acao_id_seq'::regclass));
SQL
);

        $query = $this->query("SELECT id FROM sistema.acao WHERE ds_module = 'relatorio' AND ds_controller = 'sinistro' AND ds_action = 'vistoriaspreviascustosperito'");
        $rows = $query->fetchAll();
        $id = $rows[0]['id'];

        $this->execute(<<<SQL
INSERT INTO sistema.roles_acao(id_role, id_acao) VALUES(16, {$id});
INSERT INTO sistema.roles_acao(id_role, id_acao) VALUES(20, {$id});
SQL
        );
    }

    public function down(): void
    {
        $query = $this->query("SELECT id FROM sistema.acao WHERE ds_module = 'relatorio' AND ds_controller = 'sinistro' AND ds_action = 'vistoriaspreviascustosperito'");
        $rows = $query->fetchAll();
        $id = $rows[0]['id'];

        $this->execute(<<<SQL
DELETE FROM sistema.roles_acao WHERE id_acao = {$id};
DELETE FROM sistema.acao WHERE id = {$id};
SQL
        );
    }
}
