postgresql - 我如何在 gorm 1.20.0 中关闭数据库实例
问题描述
由于我没有在 *gorm 实例的 Close() 函数中找到,任何帮助将不胜感激
dbURI := fmt.Sprintf("user=%s password=%s dbname=%s port=%s sslmode=%s TimeZone=%s",
"username", "password", "dbname", "5432", "disable", "Asia/Kolkata")
fmt.Println(dbURI)
connection, err := gorm.Open(postgres.Open(dbURI), &gorm.Config{})
if err != nil {
fmt.Println("Error connecting database")
panic(err.Error())
} else {
fmt.Println("Connected to database")
}
注意:connection.Close() 不适用于 GORM 1.20.0
解决方案
Jinzhu 决定Close()
在 1.20 版本中取消该方法,因为 GORM 支持连接池,因此正确的用法是打开连接并在应用程序中共享它。
如果您的特定用例仍需要使用该Close()
方法,GORM 提供方法 DB,该方法返回一个您可以使用的db generic_interface 。
例如
sqlDB, err := db.DB()
// Close
sqlDB.Close()
推荐阅读
- spring - 使用 Apache Camel 文件组件传输文件
- .net-core - CVE-2017-0249 特权提升问题
- tensorflow - Tensorflow 模型拟合方法引发尺寸异常
- google-api - 如何在 gmail api 中获取电子邮件列表以及电子邮件的标题和发件人?
- django - drf 如何避免 UniqueValidator 中的 objects.all()
- angular - Angular:开发模式下的 ExpressionChangedAfterItHasBeenCheckedError,但生产模式下的绑定更新
- angular - 使用 jFrog REST API 获取 npm 包版本
- c# - 值不属于 Oracle 的预期范围异常
- java - 无法为包含更新方法的 RestController 执行 Junit 测试用例?
- c# - 在 proc 中使用外部 int 时 CSharp 程序崩溃