Files
portfolio/bd/bd.go
T
sylvaintr 4b5069d179 feat: Initialize project with MySQL database and API for managing projects and technologies
- Created SQL script to set up database tables for projects and technologies.
- Added Docker Compose configuration for application and MySQL service.
- Implemented API endpoints for CRUD operations on technologies.
- Defined data types for projects and technologies.
- Established routing for API endpoints.
2026-02-10 09:45:25 +01:00

38 lines
697 B
Go

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.Println("No .env file found; using environment variables")
}
// 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
}