<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class TaskInc48788 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)
                VALUES ('Concluir Vistoria', 'seguro', 'rotinas', 'concluirvistoria', '', 717, '', 'Concluir Vistoria', 'M', now(), 2068);
            
            INSERT INTO sistema.roles_acao (id_role, id_acao)
                VALUES (20, currval('sistema.acao_id_seq')),
                       (4, currval('sistema.acao_id_seq'));
            
SQL
        );
    }

    public function down(): void
    {
        $this->execute(<<<SQL
            DELETE FROM sistema.roles_acao
                WHERE id_role IN (20, 4)
                  AND id_acao = (SELECT id
                                   FROM sistema.acao
                                  WHERE id_usuario_criacao = 2068
                                    AND ds_module = 'seguro'
                                    AND ds_controller = 'rotinas'
                                    AND ds_action = 'concluirvistoria'
                                    AND ds_label = 'Concluir Vistoria');

            DELETE FROM sistema.acao
                  WHERE id_usuario_criacao = 2068
                    AND ds_module = 'seguro'
                    AND ds_controller = 'rotinas'
                    AND ds_action = 'concluirvistoria'
                    AND ds_label = 'Concluir Vistoria';
SQL
        );
    }
}
