connection.go 937 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package main
  2. import (
  3. "fmt"
  4. "gorm.io/gorm"
  5. "gorm.io/driver/mysql"
  6. )
  7. type ConnectionProperties struct {
  8. User string
  9. Pass string
  10. Host string
  11. Db string
  12. }
  13. type Connection struct {
  14. GormDb *gorm.DB
  15. DbOpenStr string
  16. ConnProperties ConnectionProperties
  17. }
  18. func (c *Connection) Init() {
  19. c.ConnProperties.User = appSettings.DbUser
  20. c.ConnProperties.Pass = appSettings.DbPassword
  21. c.ConnProperties.Host = appSettings.DbHost
  22. c.ConnProperties.Db = appSettings.DbName
  23. c.DbOpenStr = fmt.Sprintf("%s:%s@tcp(%s)/%s", c.ConnProperties.User, c.ConnProperties.Pass, c.ConnProperties.Host, c.ConnProperties.Db)
  24. LogInfo.Println("Connecting with:")
  25. LogInfo.Println(c.DbOpenStr)
  26. gormDb, err := gorm.Open(mysql.Open(c.DbOpenStr), &gorm.Config{})
  27. if err != nil {
  28. LogError.Println("failed to connect database")
  29. LogError.Println(err)
  30. } else {
  31. LogInfo.Println("Connected to database using gorm")
  32. }
  33. c.GormDb = gormDb
  34. }