GORM 提供了各种配置项可以在初始化时使用,例如下面创建实例时设置各种参数去调整我们使用db的方式
db, err := gorm.Open(dialector, &gorm.Config{ |
下面介绍几种我们较常用到的配置:
跳过默认事务
为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面的要求,您可以在初始化时禁用它。
db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{ |
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{ |
DisableAutomaticPing
在完成初始化后,GORM 会自动 ping 数据库以检查数据库的可用性,若要禁用该特性,可将其设置为 true
db, err := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{ |