Об этом проекте
GORM — это открытая библиотека объектно-отношенческого отображения (ORM) для языка программирования Go, разработанная с учетом удобства для разработчиков. Согласно README, она предоставляет полнофункциональную ORM с широким набором возможностей.
Ключевые функции включают ассоциации, такие как Has One, Has Many, Belongs To, Many To Many, Полиморфизм и наследование в одной таблице. Поддерживаются хуки для операций Before/After Create, Save, Update, Delete и Find. Жадная загрузка доступна через Preload и Joins. Библиотека также охватывает транзакции, вложенные транзакции, точки сохранения и RollbackTo к сохраненной точке.
Дополнительные возможности включают поддержку Context, режим подготовленных операторов и режим DryRun. Предоставляется пакетная вставка, FindInBatches и Find To Map. Включается строитель SQL, а также Upsert, блокировка, подсказки оптимизатора/индекса/комментария, NamedArg и поиск/обновление/создание с использованием SQL-выражения. Поддерживаются составные первичные ключи и автоматическая миграция, а также логгер.
README подчеркивает расширяемый и гибкий API-плагин, приводя примеры, такие как Резолвер базы данных для нескольких баз данных и разделения чтения/записи, а также интеграцию Prometheus. Указывается, что каждая функция имеет тесты.
Документация доступна через GORM Guides на gorm.io и Gen Guides на gorm.io/gen. Проект приветствует вклады и ссылается на страницу вклада. Выпущена под лицензией MIT, с авторским правом, принадлежащим Джиньчу с 2013 года.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.