Задать вопрос
polyanin
@polyanin
Golang, PHP & Symfony developer

Как сделать bulk insert в GORM?

Приветствую!
Есть массив структур, которые надо записать в соответствующую таблицу базы данных с помощью GORM.
Сейчас я это делаю с помощью цикла и gorm DB.Create по одной.
Как сохранить их все сразу? DB.Create не принимает массив.
  • Вопрос задан
  • 848 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
  • Skillfactory
    Профессия Backend-разработчик на Go
    12 месяцев
    Далее
  • Нетология
    Go-разработчик с нуля
    9 месяцев
    Далее
Решения вопроса 1
EvgenyMamonov
@EvgenyMamonov Куратор тега Go
Senior software developer, system architect
Можно использовать библиотеку https://github.com/t-tiger/gorm-bulk-insert

Если не хочется тянуть лишние зависимости в проект - можно обернуть цикл в транзакцию, это даст выигрыш в производительности близкий к нормальным bulk insert.

Примерно вот так:
tx.Begin()
for {
   DB.Create
}
tx.Commit()

Советую присмотреться вот к этой библиотеке https://jmoiron.github.io/sqlx/
Я её использую почти во всех проектах.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы