searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

golang 的gorm框架在开发中常用的一些配置

2023-11-02 08:56:47
9
0

GORM 提供了各种配置项可以在初始化时使用,例如下面创建实例时设置各种参数去调整我们使用db的方式

db, err := gorm.Open(dialector, &gorm.Config{
}


下面介绍几种我们较常用到的配置:

跳过默认事务

为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面的要求,您可以在初始化时禁用它。

db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
SkipDefaultTransaction: true,
})

Logger

允许通过覆盖此选项更改 GORM 的默认 logger,例如:可以通过修改logger.Default.LogMode(logger.Silent) 关闭mysql打印,改成logger.Info可以打印出具体的mysql日志,用于查看代码实际生成的SQL语句,常用于排查SQL执行慢或异常等问题。

 

PrepareStmt

PreparedStmt 在执行任何 SQL 时都会创建一个 prepared statement 并将其缓存,以提高后续的效率,如果不需要该缓存可以禁用

db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
PrepareStmt: false,
})

 

DisableAutomaticPing

在完成初始化后,GORM 会自动 ping 数据库以检查数据库的可用性,若要禁用该特性,可将其设置为 true

db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
DisableAutomaticPing: true,
})

 

 

0条评论
0 / 1000
梁嵘健
5文章数
0粉丝数
梁嵘健
5 文章 | 0 粉丝
原创

golang 的gorm框架在开发中常用的一些配置

2023-11-02 08:56:47
9
0

GORM 提供了各种配置项可以在初始化时使用,例如下面创建实例时设置各种参数去调整我们使用db的方式

db, err := gorm.Open(dialector, &gorm.Config{
}


下面介绍几种我们较常用到的配置:

跳过默认事务

为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面的要求,您可以在初始化时禁用它。

db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
SkipDefaultTransaction: true,
})

Logger

允许通过覆盖此选项更改 GORM 的默认 logger,例如:可以通过修改logger.Default.LogMode(logger.Silent) 关闭mysql打印,改成logger.Info可以打印出具体的mysql日志,用于查看代码实际生成的SQL语句,常用于排查SQL执行慢或异常等问题。

 

PrepareStmt

PreparedStmt 在执行任何 SQL 时都会创建一个 prepared statement 并将其缓存,以提高后续的效率,如果不需要该缓存可以禁用

db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
PrepareStmt: false,
})

 

DisableAutomaticPing

在完成初始化后,GORM 会自动 ping 数据库以检查数据库的可用性,若要禁用该特性,可将其设置为 true

db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{
DisableAutomaticPing: true,
})

 

 

文章来自个人专栏
开发常见问题分享
5 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0