À propos du projet

GORM est une bibliothèque Object-Relational Mapping (ORM) open source pour le langage de programmation Go, conçue pour être conviviale pour les développeurs. Selon son fichier README, elle offre une ORM complète avec un large ensemble de fonctionnalités. Les fonctionnalités clés incluent les associations telles que Has One, Has Many, Belongs To, Many To Many, Polymorphisme et l'héritage sur une seule table. Elle prend en charge les hooks pour les opérations Before/After Create, Save, Update, Delete et Find. Le chargement immédiat est disponible via Preload et Joins. La bibliothèque couvre également les transactions, les transactions imbriquées, les points de sauvegarde et le RollbackTo à un point enregistré. Les autres fonctionnalités mentionnées incluent le support de Context, le mode Prepared Statement et le mode DryRun. Elle propose l'insertion par lots, FindInBatches et Find To Map. Un générateur de SQL est inclus, ainsi qu'Upsert, Locking, des indications de l'optimiseur/indice/commentaire, NamedArg, et Search/Update/Create avec SQL Expr. Les clés primaires composées et les migrations automatiques sont pris en charge, ainsi qu'un journalisateur. Le fichier README met en avant une API de plugin extensible et flexible, citant des exemples tels qu'un Database Resolver pour plusieurs bases de données et le fractionnement en lecture/écriture, ainsi qu'une intégration avec Prometheus. Il indique que chaque fonctionnalité est accompagnée de tests. La documentation est disponible via les GORM Guides sur gorm.io et les Gen Guides sur gorm.io/gen. Le projet accueille les contributions et propose un lien vers une page de contribution. Il est publié sous licence MIT, avec le droit d'auteur attribué à Jinzhu depuis 2013.