CLI y biblioteca de Go para gestionar cambios en el esquema de bases de datos mediante archivos SQL versionados o funciones de Go.
go-gorm/gorm
Un ORM completo para Go que asigna structs a tablas de bases de datos y admite asociaciones, hooks, transacciones y migraciones.
- Estrellas
- 39,978
- Forks
- 4,220
- Issues abiertos
- 554
- Último commit
- el mes pasado
¿Qué es?
GORM es una biblioteca de mapeo objeto-relacional para Go. Permite definir modelos como structs de Go y realizar operaciones de creación, lectura, actualización y eliminación sin escribir SQL sin procesar para cada consulta, y también ofrece un generador de consultas SQL y la posibilidad de usar SQL sin procesar cuando se necesita.
La biblioteca cubre patrones relacionales comunes: has one, has many, belongs to, many to many, asociaciones polimórficas y herencia de tabla única, con carga anticipada mediante Preload y Joins. También ofrece transacciones con puntos de guardado, inserciones por lotes, upserts, bloqueo de filas, hooks para las operaciones de creación, actualización, eliminación y búsqueda, y migraciones automáticas de esquemas.
GORM se puede ampliar mediante una API de plugins. Entre los plugins documentados se incluyen un resolver de bases de datos para trabajar con varias bases de datos y dividir las operaciones de lectura y escritura, y una integración con Prometheus. La documentación y las guías están disponibles en gorm.io.
Funciones clave
- 01Asociaciones que incluyen has one, has many, belongs to, many to many y asociaciones polimórficas.
- 02Carga anticipada mediante Preload y Joins.
- 03Transacciones con transacciones anidadas y puntos de guardado.
- 04Inserciones por lotes, upserts, bloqueo de filas y FindInBatches.
- 05Hooks para las operaciones de creación, guardado, actualización, eliminación y búsqueda.
- 06Migraciones automáticas y una API de plugins.
Casos de uso
- Crear un servicio web en Go respaldado por una base de datos relacional sin escribir SQL a mano para cada consulta.
- Añadir división de lecturas y escrituras o conexiones a varias bases de datos mediante el plugin resolver.
- Gestionar cambios de esquema durante el desarrollo con migraciones automáticas.
Inicio rápido
- 1
Consulta las guías de gorm.io para obtener información sobre la instalación y el uso
Temas
Preguntas frecuentes
- ¿Qué es gorm?
- Un ORM completo para Go que asigna structs a tablas de bases de datos y admite asociaciones, hooks, transacciones y migraciones. GORM es una biblioteca de mapeo objeto-relacional para Go. Permite definir modelos como structs de Go y realizar operaciones de creación, lectura, actualización y eliminación sin escribir SQL sin procesar para cada consulta, y también ofrece un generador de consultas SQL y la posibilidad de usar SQL sin procesar cuando se necesita.
- ¿gorm es gratuito? ¿Qué licencia tiene?
- gorm es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿gorm sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de gorm fue el 14 sept 2026.
- ¿Para qué puedo usar gorm?
- Crear un servicio web en Go respaldado por una base de datos relacional sin escribir SQL a mano para cada consulta. Añadir división de lecturas y escrituras o conexiones a varias bases de datos mediante el plugin resolver. Gestionar cambios de esquema durante el desarrollo con migraciones automáticas.
- ¿Cómo se instala gorm?
- Consulta las guías de gorm.io para obtener información sobre la instalación y el uso
- ¿Dónde consigo gorm?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/go-gorm/gorm
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
ORM de TypeScript para Node.js que ofrece acceso a bases de datos con seguridad de tipos en PostgreSQL, MySQL, SQLite, MongoDB y otras bases de datos.
Cliente SQL de escritorio gratuito y multiplataforma, y herramienta para bases de datos compatible con más de 100 bases mediante drivers JDBC y ODBC.
ORM para TypeScript y JavaScript en Node.js y otras plataformas JS, compatible con los patrones Active Record y Data Mapper y con numerosas bases de datos SQL y NoSQL.
Un ORM basado en promesas para Node.js y TypeScript, compatible con PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle y Db2.
Go, un lenguaje de programación de código abierto para crear software sencillo, confiable y eficiente.