Repolode
go-gorm

go-gorm/gorm

ORM completo para Go que mapeia structs para tabelas de banco de dados e oferece suporte a associações, hooks, transações e migrações.

Estrelas
39,978
Forks
4,220
Issues abertas
554
Último commit
mês passado

O que é?

GORM é uma biblioteca de mapeamento objeto-relacional para Go. Ela permite definir modelos como structs de Go e executar operações de criação, leitura, atualização e exclusão sem escrever SQL puro para cada consulta, além de oferecer um construtor de SQL e suporte a SQL puro quando necessário.

A biblioteca abrange padrões relacionais comuns: has one, has many, belongs to, many to many, associações polimórficas e herança de tabela única, com carregamento antecipado por meio de Preload e Joins. Também oferece transações com save points, inserções em lote, upserts, bloqueio de linhas, hooks para operações de criação, atualização, exclusão e busca, além de migrações automáticas de schema.

GORM é extensível por meio de uma API de plugins. Entre os plugins documentados estão um resolver de banco de dados para múltiplos bancos e divisão de leitura/escrita, além de uma integração com Prometheus. A documentação e os guias estão disponíveis em gorm.io.

Recursos principais

  • 01Associações, incluindo has one, has many, belongs to, many to many e associações polimórficas.
  • 02Carregamento antecipado via Preload e Joins.
  • 03Transações com transações aninhadas e save points.
  • 04Inserção em lote, upsert, bloqueio de linhas e FindInBatches.
  • 05Hooks para create, save, update, delete e find.
  • 06Migrações automáticas e uma API de plugins.

Casos de uso

  • Desenvolver um serviço web em Go com um banco de dados relacional sem escrever SQL manualmente para cada consulta.
  • Adicionar divisão de leitura/escrita ou conexões com múltiplos bancos de dados por meio do plugin resolver.
  • Gerenciar alterações de schema durante o desenvolvimento com migrações automáticas.

Início rápido

  1. 1

    Consulte os guias em gorm.io para saber como instalar e usar

Tópicos

Perguntas frequentes

O que é gorm?
ORM completo para Go que mapeia structs para tabelas de banco de dados e oferece suporte a associações, hooks, transações e migrações. GORM é uma biblioteca de mapeamento objeto-relacional para Go. Ela permite definir modelos como structs de Go e executar operações de criação, leitura, atualização e exclusão sem escrever SQL puro para cada consulta, além de oferecer um construtor de SQL e suporte a SQL puro quando necessário.
gorm é gratuito? Qual é a licença?
gorm é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
gorm ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de gorm foi em 14 de set. de 2026.
Para que posso usar gorm?
Desenvolver um serviço web em Go com um banco de dados relacional sem escrever SQL manualmente para cada consulta. Adicionar divisão de leitura/escrita ou conexões com múltiplos bancos de dados por meio do plugin resolver. Gerenciar alterações de schema durante o desenvolvimento com migrações automáticas.
Como instalar gorm?
Consulte os guias em gorm.io para saber como instalar e usar
Onde consigo gorm?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/go-gorm/gorm

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados