170 похожих чатов

Всем доброго дня! Столкнулся с непонятной проблемой, использую gorm в

проекте, с драйвером postgres. Код подключения к бд:
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
if err != nil {
log.Fatal(err)
}

defer db.Close()


Проблема в том что метода db.Close() не существует, проект не компилится, хотя во всех примерах использования драйвера, используется данный метод.
Куда копать?

9 ответов

12 просмотров

не по теме, но если бы метод был — он бы отрабатывал у вас сразу и коллер получал бы уже закрытый db

Igor- Автор вопроса
Alexander Shavelev
не по теме, но если бы метод был — он бы отрабатыв...

Это пример, закрыть бд можно и в коллере. Во всех примерах используют данный метод, но у меня его нет 😆

Igor
Это пример, закрыть бд можно и в коллере. Во всех ...

ну либо примеры устарели, или же там клоз вызывалеся все таки на sql.DB

ну вот посмотри на свой код. ты возвращаешь бд - и тут же перед этим закрываешь ее. какой толк от нее системе?

x := postgres.Open(dsn) x.Close()

Igor- Автор вопроса
Igor
Нет

что нет?

Igor
Нет

https://pkg.go.dev/gorm.io/gorm#DB действительно нет метода Close() но есть такой пример import ( "database/sql" "gorm.io/gorm" ) sqlDB, err := sql.Open("mysql", "mydb_dsn") gormDB, err := gorm.Open(mysql.New(mysql.Config{ Conn: sqlDB, }), &gorm.Config{}) а вот как раз у типа sql.DB есть Close() метод https://pkg.go.dev/database/sql#DB.Close так что скорее да чем нет *читайте доки 😁

Igor- Автор вопроса
Andrew ᛉ
https://pkg.go.dev/gorm.io/gorm#DB действительно н...

db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) if err != nil { log.Fatal(err) } connection, _ := db.DB() defer connection.Close() Уже сам решил этот вопрос.

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

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
@FAssembler ты много с формами работал, как цикл обработки сообщений от окошек надо делать, чтобы IsDialogMessage не ломал ввод в эдиты и навигация по табам работала?
The Bird of Hermes
8
Карта сайта