<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class TaskSr61154 extends AbstractMigration
{
    public function up(): void
    {
        $row = $this->fetchRow('SELECT id FROM seguro.propostas WHERE id = 1069319');
        if ($row['id']) {
            $builder = $this->getQueryBuilder();
            $builder->update('seguro.propostas_vistorias_previas')
                    ->set('id_status', 226)
                    ->where([ 'id'          => 178098
                            , 'id_proposta' => 1069319
                            , 'id_vistoria' => 375246
                            , 'id_status'   => 225
                            ])
                    ->execute();

            $table = $this->table('seguro.propostas_vistorias_previas_historico');
            $singleRow = [
                           'id_usuario_criacao'    => 2068
                         , 'dt_criacao'            => 'NOW()'
                         , 'id_proposta_vistoria'  => 178098
                         , 'id_status'             => 226
                         , 'id_status_analise'     => 176
                         , 'ds_motivo'             => 'Alteração de Status.'
                         , 'id_empresa'            => 375
                         , 'fl_necessario_endosso' => 'TRUE'
            ];
            $table->insert($singleRow)
                  ->saveData();
        }
    }

    public function down(): void
    {
        $row = $this->fetchRow('SELECT id FROM seguro.propostas WHERE id = 1069319');
        if ($row['id']) {
            $builder = $this->getQueryBuilder();
            $builder->update('seguro.propostas_vistorias_previas')
                    ->set('id_status', 225)
                    ->where([ 'id'          => 178098
                            , 'id_proposta' => 1069319
                            , 'id_vistoria' => 375246
                            , 'id_status'   => 226
                            ])
                    ->execute();

            $delete = $this->getQueryBuilder();
            $delete->delete('seguro.propostas_vistorias_previas_historico')
                   ->where([ 'id_usuario_criacao'    => 2068
                           , 'id_proposta_vistoria'  => 178098
                           , 'id_status'             => 226
                           , 'id_status_analise'     => 176
                           , 'ds_motivo'             => 'Alteração de Status.'
                           , 'id_empresa'            => 375
                           , 'fl_necessario_endosso' => 'TRUE'
                           ])
                   ->execute();
        }
    }
}
