49 lines
957 B
Go

package database
import (
"os"
"log"
"fmt"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
var DB *gorm.DB
func getConnectionString() string {
var (
host = os.Getenv("DB_HOST")
port = os.Getenv("DB_PORT")
user = os.Getenv("DB_USER")
password = os.Getenv("DB_PASSWORD")
dbname = os.Getenv("DB_NAME")
)
log.Printf("[LOG] Attempting to connect with: host=%s, port=%s, user=%s, dbname=%s",
host, port, user, dbname)
connStr := fmt.Sprintf(
"postgres://%s:%s@%s:%s/%s?sslmode=disable",
user,
password,
host,
port,
dbname,
)
return connStr
}
func ConnectDB() {
db_url := getConnectionString()
db, err := gorm.Open(postgres.Open(db_url), &gorm.Config{})
if err != nil {
log.Fatal("[FAIL] Failed to connect to database:", err)
}
fmt.Println("[SUCCESS] Connected to database successfully")
DB = db
}