From f5fbe1d85234f389ccefa82bd8b09410559eb192 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Tue, 21 Feb 2023 10:16:58 +0800 Subject: [PATCH] gorm conn --- pkg/common/db/relation/mysql_init.go | 78 ++-------------------------- 1 file changed, 4 insertions(+), 74 deletions(-) diff --git a/pkg/common/db/relation/mysql_init.go b/pkg/common/db/relation/mysql_init.go index d4461c294..92f80a176 100644 --- a/pkg/common/db/relation/mysql_init.go +++ b/pkg/common/db/relation/mysql_init.go @@ -3,14 +3,14 @@ package relation import ( "Open_IM/pkg/common/config" "fmt" + "gorm.io/driver/mysql" "time" - "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" ) -func NewGormDB() (*gorm.DB, error) { +func newMysqlGormDB() (*gorm.DB, error) { dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local", config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], "mysql") db, err := gorm.Open(mysql.Open(dsn), nil) @@ -58,80 +58,10 @@ func NewGormDB() (*gorm.DB, error) { return db, nil } -type Mysql struct { - gormConn *gorm.DB +func NewGormDB() (*gorm.DB, error) { + return newMysqlGormDB() } -func (m *Mysql) GormConn() *gorm.DB { - return m.gormConn -} - -//func (m *Mysql) SetGormConn(gormConn *gorm.DB) { -// m.gormConn = gormConn -//} -// -//func (m *Mysql) InitConn() *Mysql { -// dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local", -// config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], "mysql") -// var db *gorm.DB -// db, err := gorm.Open(mysql.Open(dsn), nil) -// if err != nil { -// time.Sleep(time.Duration(30) * time.Second) -// db, err = gorm.Open(mysql.Open(dsn), nil) -// if err != nil { -// panic(err.Error() + " open failed " + dsn) -// } -// } -// sql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s default charset utf8 COLLATE utf8_general_ci;", config.Config.Mysql.DBDatabaseName) -// err = db.Exec(sql).Error -// if err != nil { -// panic(err.Error() + " Exec failed:" + sql) -// } -// dsn = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local", -// config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], config.Config.Mysql.DBDatabaseName) -// newLogger := logger.New( -// Writer{}, -// logger.Config{ -// SlowThreshold: time.Duration(config.Config.Mysql.SlowThreshold) * time.Millisecond, // Slow SQL threshold -// LogLevel: logger.LogLevel(config.Config.Mysql.LogLevel), // Log level -// IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger -// Colorful: true, // Disable color -// }, -// ) -// db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{ -// Logger: newLogger, -// }) -// if err != nil { -// panic(err.Error() + " Open failed " + dsn) -// } -// sqlDB, err := db.DB() -// if err != nil { -// panic(err.Error() + " DB.DB() failed ") -// } -// sqlDB.SetConnMaxLifetime(time.Second * time.Duration(config.Config.Mysql.DBMaxLifeTime)) -// sqlDB.SetMaxOpenConns(config.Config.Mysql.DBMaxOpenConns) -// sqlDB.SetMaxIdleConns(config.Config.Mysql.DBMaxIdleConns) -// if db == nil { -// panic("db is nil") -// } -// m.SetGormConn(db) -// return m -//} - -//models := []interface{}{&Friend{}, &FriendRequest{}, &Group{}, &GroupMember{}, &GroupRequest{}, -// &User{}, &Black{}, &ChatLog{}, &Conversation{}, &AppVersion{}} - -//func (m *Mysql) AutoMigrateModel(model interface{}) error { -// err := m.gormConn.AutoMigrate(model) -// if err != nil { -// return err -// } -// m.gormConn.Set("gorm:table_options", "CHARSET=utf8") -// m.gormConn.Set("gorm:table_options", "collation=utf8_unicode_ci") -// _ = m.gormConn.Migrator().CreateTable(model) -// return nil -//} - type Writer struct{} func (w Writer) Printf(format string, args ...interface{}) {