DEV Community

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

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

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

Top comments (0)