package bd import ( "database/sql" "log" "os" "github.com/go-sql-driver/mysql" "github.com/joho/godotenv" ) var db *sql.DB func GetDB() *sql.DB { if db == nil { errenv := godotenv.Load() if errenv != nil { log.Fatal("Error loading .env file") } // Capture connection properties. cfg := mysql.NewConfig() cfg.User = os.Getenv("DB_USER") cfg.Passwd = os.Getenv("DB_PASS") cfg.Net = "tcp" cfg.Addr = os.Getenv("DB_HOST") cfg.DBName = os.Getenv("DB_NAME") // Get a database handle. var err error db, err = sql.Open("mysql", cfg.FormatDSN()) if err != nil { log.Fatal(err) } } return db }