package mysql import ( "fmt" _ "github.com/go-sql-driver/mysql" //加载mysql驱动 "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/schema" "log" "net/url" ) var ProdReadOnlyDB *gorm.DB var ProdWriteDB *gorm.DB var TestDB *gorm.DB func init() { var err error options := "?charset=utf8mb4&parseTime=True&loc=Local&time_zone=" + url.QueryEscape("'+8:00'") dsn := "hilo_read:hilo_TX_readonly!@#$@(de-cynosdbmysql-grp-rv5zqms3.sql.tencentcdb.com:25642)/hilo" + options ProdReadOnlyDB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{ NamingStrategy: schema.NamingStrategy{SingularTable: true}, }) if err != nil { log.Fatalf("mysql connect error %v", err) } else { log.Println("mysql connect success") } if ProdReadOnlyDB.Error != nil { fmt.Printf("database error %v", ProdReadOnlyDB.Error) } dsn = "hilo_test:cPsTMSA9szQ6B9Y2zFXSvpDdduB8kZxC@(hk-cynosdbmysql-grp-a3wqck8p.sql.tencentcdb.com:22303)/hilo" + options TestDB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{ NamingStrategy: schema.NamingStrategy{SingularTable: true}, }) if err != nil { log.Fatalf("mysql connect error %v", err) } else { log.Println("mysql connect success") } if TestDB.Error != nil { fmt.Printf("database error %v", TestDB.Error) } dsn = "hilo_master:o8NNd8F7e6On2RqIgOhsy1PsiSxROT3n@(de-cynosdbmysql-grp-rv5zqms3.sql.tencentcdb.com:25642)/hilo" + options ProdWriteDB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{ NamingStrategy: schema.NamingStrategy{SingularTable: true}, }) if err != nil { log.Fatalf("mysql connect error %v", err) } else { log.Println("mysql connect success") } if ProdWriteDB.Error != nil { fmt.Printf("database error %v", ProdWriteDB.Error) } }