Sobre el proyecto

GORM es una biblioteca de mapeo objeto-relacional (ORM) de código abierto para el lenguaje de programación Go, diseñada para ser amigable para desarrolladores. Según su archivo README, proporciona un ORM de características completas con un amplio conjunto de capacidades. Las características clave incluyen asociaciones como Has One, Has Many, Belongs To, Many To Many, Polimorfismo y herencia en una sola tabla. Soporta ganchos para operaciones Before/After Create, Save, Update, Delete y Find. La carga perezosa está disponible a través de Preload y Joins. La biblioteca también cubre transacciones, transacciones anidadas, puntos de guardado y RollbackTo a un punto guardado. Capacidades adicionales mencionadas incluyen soporte para Context, modo de declaración preparada y modo DryRun. Ofrece inserción por lotes, FindInBatches y Find To Map. Se incluye un constructor de SQL, así como Upsert, bloqueo, sugerencias de optimizador/índice/comentario, NamedArg y búsqueda/actualización/creación con expresión SQL. Se admiten claves primarias compuestas y migraciones automáticas, así como un registrador. El README destaca una API de complementos extensible y flexible, citando ejemplos como un resolutor de bases de datos para múltiples bases de datos y división de lectura/escritura, e integración con Prometheus. Indica que cada característica cuenta con pruebas. La documentación está disponible a través de las Guías de GORM en gorm.io y las Guías de Gen en gorm.io/gen. El proyecto acepta contribuciones y enlaza a una página de contribuciones. Se libera bajo la Licencia MIT, con derechos de autor atribuidos a Jinzhu desde 2013 en adelante.