Como executar várias operações de forma transacional em Golang?

Ortiz de Arcanjo Antonio David - Sep 20 - - Dev Community

Algumas operações envolvem outras e precisam ser gerenciadas pela aplicação. Para isso, é recomendado usar transações.

Operações

  • Inserção
  • Alteração
  • Exclusão

Cenário

  • Operações com várias entidades e repositórios
  • Operações que dependem do sucesso umas das outras
  • Processos com múltiplos passos
  • Carregamento em massa de arquivos
  • Transferência de dados entre locais

Vantagens

  • Consistência
  • Unicidade na operação
  • Código mais seguro

Exemplo

Na criação de um usuário, podem ser realizados os seguintes passos:

  • Verificar se o usuário já existe
  • Criar o usuário
  • Associá-lo a um perfil
  • Registrar a actividade do usuário
  • Gerar a chave da API

Código fonte:

Image description

Image description

Image description

Image description

Image description

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player