package db import ( "database/sql" "fmt" "log" "os" "strconv" "github.com/joho/godotenv" _ "github.com/lib/pq" ) func init() { if err := godotenv.Load(".env"); err != nil { log.Fatalf("Error loading .env file: %v", err) } } var ( host = os.Getenv("DB_HOST") portStr = os.Getenv("DB_PORT") user = os.Getenv("DB_USER") password = os.Getenv("DB_PASSWORD") dbname = os.Getenv("DB_NAME") ) var port, _ = strconv.Atoi(portStr) func SetupDb() { // Connection string psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+ "password=%s dbname=%s sslmode=disable", host, port, user, password, dbname) // Connect to the database db, err := sql.Open("postgres", psqlInfo) if err != nil { log.Fatalf("Error opening database: %v\n", err) } defer db.Close() // Check the connection err = db.Ping() if err != nil { log.Fatalf("Error connecting to the database: %v\n", err) } }