package main import ( "fmt" "gorm.io/gorm" "gorm.io/driver/mysql" ) type ConnectionProperties struct { User string Pass string Host string Db string } type Connection struct { GormDb *gorm.DB DbOpenStr string ConnProperties ConnectionProperties } func (c *Connection) Init() { c.ConnProperties.User = appSettings.DbUser c.ConnProperties.Pass = appSettings.DbPassword c.ConnProperties.Host = appSettings.DbHost c.ConnProperties.Db = appSettings.DbName c.DbOpenStr = fmt.Sprintf("%s:%s@tcp(%s)/%s", c.ConnProperties.User, c.ConnProperties.Pass, c.ConnProperties.Host, c.ConnProperties.Db) LogInfo.Println("Connecting with:") LogInfo.Println(c.DbOpenStr) gormDb, err := gorm.Open(mysql.Open(c.DbOpenStr), &gorm.Config{}) if err != nil { LogError.Println("failed to connect database") LogError.Println(err) } else { LogInfo.Println("Connected to database using gorm") } c.GormDb = gormDb }