none
Operacoes CRUD RRS feed

  • Pergunta

  • Como em qq sistema, tenho meu CRUD.

    No entanto, quando executando Updates e Deletes, gostaria de manter o historico de quem alterou, quem deletou, o que foi alterado, etc.

    Qual a melhor abordagem ?

    1. DELETE
    Ao inves de deletar e perder esse registro na tabela, nao seria mais interessante apenas ter um campo DELETED e setar ele para true ? Assim nao perco o registro.

    2. UPDATE
    Ao inves de update, nao seria melhor criar um novo registro e marcar o atual como uma versao anterior ?

    Qual a melhor abordagem utilizada ultimamente ?

    Abracos

    quinta-feira, 29 de agosto de 2019 14:51

Todas as Respostas

  •  Boa tarde,

        respondendo as questões:

    1. Sim na maioria dos casos é feito exatamente isso.
    2. Depende, qual a importância desses registros na tabela, do sistema, geralmente é feito um log de quem fez a alteração no registro, agora o que foi alterado somente avaliando o sistema e seu custo para manter todo o histórico do registro.

       Na verdade todas as abordagens são usadas, basta verificar a importancia daquele registro para o sistema geral.

    quinta-feira, 29 de agosto de 2019 15:42
  • Boa tarde,

    O Daniel responde a sua pergunta muito bem. Existe um conceito chamando Event Sourcing muito interessante que aborda esse tipo de caso para uma abordagem mais complexa. Veja o artigo.

    https://medium.com/@gabrielqueiroz/vamos-falar-sobre-event-sourcing-276ae66106f7


    Espero ter ajudado. Se a resposta foi util a voce, marque como lida. --------------------. Att; Danilo Dumba

    sexta-feira, 30 de agosto de 2019 19:10