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

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

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

defer db.Close()


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

9 ответов

23 просмотра

не по теме, но если бы метод был — он бы отрабатывал у вас сразу и коллер получал бы уже закрытый 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() Уже сам решил этот вопрос.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта