package database import ( "database/sql" "fmt" "git.umbach.dev/app-idea/rest-api/modules/config" log "github.com/sirupsen/logrus" "gorm.io/driver/mysql" "gorm.io/gorm" ) var DB *gorm.DB func getConnectionString() string { conf := config.GetConfig().Database return fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=True&loc=Local", conf.Username, conf.Password, conf.Host, conf.Database) } func InitDatabase() { sqlDB, err := sql.Open("mysql", getConnectionString()) if err != nil { log.Fatalln("DB connection failed:", err) } sqlDB.SetMaxIdleConns(10) sqlDB.SetMaxOpenConns(100) gormDB, err := gorm.Open(mysql.New(mysql.Config{ Conn: sqlDB, }), &gorm.Config{}) if err != nil { log.Fatalln("Failed to open gorm", err) } DB = gormDB }