Skip to content

Resolve "[Instrumento Inicial] Deleção de itens das tabelas corretas"

mr:Possui comando

Salvar retornos das query no MR

Descrição

  • Corrigir itens que estão deletados na tabela contratoitens e não deletados na saldohistoricoitens (vice-versa)

Fluxo de Testes

Implantação

Comando(s)

  • Executar as seguintes querys:

-------------- QUERY UPDATE CONTRATOITENS --------------------

update contratoitens set deleted_at = now() where id in(
    select distinct ci.id
    from contratoitens ci
             join saldohistoricoitens s on ci.id = s.contratoitem_id
             join contratos c on c.id = ci.contrato_id
             join contratohistorico ch2 on ch2.id = s.saldoable_id
             join codigoitens citens on citens.id = ch2.tipo_id
             join codigos cod on cod.id = citens.codigo_id
    where ci.deleted_at is null and cod.descricao = 'Tipo de Contrato'
      and citens.descricao not in ('Termo Aditivo', 'Termo de Apostilamento',
                                   'Termo Apostilamento', 'Termo Rescisão', 'Termo de Rescisão')
      and s.deleted_at is not null
    order by ci.id desc
)
RETURNING id;

--------------------- QUERY UPDATE SALDOHISTORICOITENS -----------------

update saldohistoricoitens set deleted_at = now() where id in (
    select distinct s.id
    from contratoitens ci
             join saldohistoricoitens s on ci.id = s.contratoitem_id
             join contratos c on c.id = ci.contrato_id
             join contratohistorico ch2 on ch2.id = s.saldoable_id
             join codigoitens citens on citens.id = ch2.tipo_id
             join codigos cod on cod.id = citens.codigo_id
    where ci.deleted_at is not null and cod.descricao = 'Tipo de Contrato'
      and citens.descricao not in ('Termo Aditivo', 'Termo de Apostilamento',
                                   'Termo Apostilamento', 'Termo Rescisão', 'Termo de Rescisão')
      and s.deleted_at is null
    order by s.id desc
)RETURNING id;

Instrução(ões)

Homologação:

  • Executar primeiramente o select que está na query de update
  • Guardar os ids e passar a equipe negocial verificar os casos em tela
  • Executar os updates
  • Guardar os ids retornados nas duas querys para necessidade de rollback

Produção:

  • Executar primeiramente o select que está na query de update
  • Guardar os ids e passar a equipe negocial verificar os casos em tela
  • Executar os updates
  • Guardar os ids retornados nas duas querys para necessidade de rollback

Não remover as próximas linhas

Closes #963

Edited by Ricardo Arruda Sowek

Merge request reports