package database import ( "database/sql" "fmt" "os" "time" _ "github.com/go-sql-driver/mysql" ) var DB *sql.DB var dbName = os.Getenv("DB_NAME") var dbUser = os.Getenv("DB_USER") var dbPassword = os.Getenv("DB_PASSWORD") var dbHost = os.Getenv("DB_HOST") var dbPort = os.Getenv("DB_PORT") var Conn_string = fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?parseTime=true&charset=utf8mb4&collation=utf8mb4_unicode_ci", dbUser, dbPassword, dbHost, dbPort, dbName) func InitDB(dataSourceName string) error { var err error DB, err = sql.Open("mysql", dataSourceName) if err != nil { return err } DB.SetMaxOpenConns(25) DB.SetMaxIdleConns(25) DB.SetConnMaxLifetime(5 * time.Minute) if err = DB.Ping(); err != nil { return err } println("DB connected") return nil } func CloseDB() { if DB != nil { DB.Close() } }