gorm_init.go 755 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package database
  2. import (
  3. "github.com/suyuan32/simple-admin-common/config"
  4. "github.com/zeromicro/go-zero/core/logx"
  5. "gorm.io/driver/mysql"
  6. "gorm.io/gorm"
  7. "time"
  8. )
  9. func InitWechatDB(databaseConf config.DatabaseConf, mode string) (*gorm.DB, error) {
  10. dsn := databaseConf.GetDSN()
  11. wechatDb, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
  12. Logger: NewGormLogger(mode),
  13. })
  14. if err != nil {
  15. logx.Error(err)
  16. return nil, err
  17. }
  18. if wechatDb != nil {
  19. sqlDB, err := wechatDb.DB()
  20. if err != nil {
  21. logx.Error(err)
  22. return nil, err
  23. }
  24. // 设置连接池
  25. sqlDB.SetMaxIdleConns(10)
  26. sqlDB.SetMaxOpenConns(100)
  27. sqlDB.SetConnMaxLifetime(time.Hour)
  28. }
  29. //初始化DAO查询接口
  30. //wechatQ := query.Use(wechatDb)
  31. return wechatDb, nil
  32. }