我正在从项目中的database/sql
迁移到jinzhu/gorm
。以前,我使用Stats
方法捕获了数据库情况。我想知道如何在GORM中实现这一目标?我没有在官方文档中找到任何东西。
答案 0 :(得分:1)
gorm
(通常)是sql.DB
的包装。
您可以通过调用DB.DB()来访问基础*sql.DB
对象。然后,您可以访问标准库中的任何方法,包括DB.Stats()
。
请注意文档中的注释:
DB从当前连接中获取
*sql.DB
如果基础数据库 连接不是* sql.DB,返回nil
例如:
// db is a *gorm.DB
db, err := gorm.Open("mysql", connectionString)
...
// sqlDB is a *sql.DB
sqlDB := db.DB()
if sqlDB != nil {
// Call to the standard library's sql.DB.Stats
stats := sqlDB.Stats()
}
答案 1 :(得分:1)
来自Gorm Doc
从* gorm.DB连接获取通用数据库接口* sql.DB
//获取通用数据库对象
*sql.DB
以使用其功能db.DB()
使用db.DB()
可以获得*sql.DB
并使用函数.Stats()
,其中db
是*gorm.DB
连接
sqlDBStats := db.DB().Stats()