Repolode
go-gorm

go-gorm/gorm

Полнофункциональная ORM для Go: преобразует структуры в таблицы БД и поддерживает связи, хуки, транзакции и миграции.

Звёзды
39,978
Форки
4,220
Открытые issues
554
Последний коммит
в прошлом месяце

Что это?

GORM — библиотека объектно-реляционного отображения для Go. Она позволяет описывать модели в виде структур Go и выполнять операции создания, чтения, обновления и удаления, не пиша вручную SQL для каждого запроса. При необходимости доступны конструктор SQL-запросов и выполнение обычного SQL.

Библиотека поддерживает распространённые типы связей в реляционных БД: has one, has many, belongs to, many to many, полиморфные связи и наследование с одной таблицей, а также предварительную загрузку данных через Preload и Joins. Кроме того, в ней есть транзакции с точками сохранения, пакетные вставки, upsert-операции, блокировки строк, хуки для операций создания, обновления, удаления и поиска, а также автоматические миграции схемы.

GORM можно расширять с помощью plugin API. Среди описанных плагинов — резолвер для работы с несколькими базами данных и разделения чтения и записи, а также интеграция с Prometheus. Документация и руководства доступны на gorm.io.

Ключевые возможности

  • 01Связи: has one, has many, belongs to, many to many и полиморфные связи.
  • 02Предварительная загрузка данных через Preload и Joins.
  • 03Транзакции с вложенными транзакциями и точками сохранения.
  • 04Пакетные вставки, upsert, блокировка строк и FindInBatches.
  • 05Хуки для операций create, save, update, delete и find.
  • 06Автоматические миграции и plugin API.

Сценарии использования

  • Создание веб-сервиса на Go с реляционной базой данных без необходимости вручную писать SQL для каждого запроса.
  • Настройка разделения чтения и записи или подключений к нескольким базам данных с помощью плагина-резолвера.
  • Управление изменениями схемы во время разработки с помощью автоматических миграций.

Быстрый старт

  1. 1

    Ознакомьтесь с руководствами на gorm.io по установке и использованию

Темы

Частые вопросы

Что такое gorm?
Полнофункциональная ORM для Go: преобразует структуры в таблицы БД и поддерживает связи, хуки, транзакции и миграции. GORM — библиотека объектно-реляционного отображения для Go. Она позволяет описывать модели в виде структур Go и выполнять операции создания, чтения, обновления и удаления, не пиша вручную SQL для каждого запроса. При необходимости доступны конструктор SQL-запросов и выполнение обычного SQL.
gorm можно использовать бесплатно? Какая у него лицензия?
gorm распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
gorm всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в gorm — 14 сент. 2026 г..
Для чего можно использовать gorm?
Создание веб-сервиса на Go с реляционной базой данных без необходимости вручную писать SQL для каждого запроса. Настройка разделения чтения и записи или подключений к нескольким базам данных с помощью плагина-резолвера. Управление изменениями схемы во время разработки с помощью автоматических миграций.
Как установить gorm?
Ознакомьтесь с руководствами на gorm.io по установке и использованию
Где скачать gorm?
Исходный код и инструкции по установке — на GitHub: https://github.com/go-gorm/gorm

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты