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()
log.Fatalf("Error connecting to the database: %v\n", err)