Fix database connection with TrimSpace

This commit is contained in:
[Valentino Heman Budiarto] 2026-05-29 19:40:32 +07:00
parent 8cdb43a2ef
commit 5d99da0b7c

View File

@ -4,6 +4,7 @@ import (
"fmt"
"log"
"os"
"strings" // TAMBAHAN: Untuk membersihkan spasi/enter gaib
"s-class-backend/models"
"github.com/joho/godotenv"
@ -17,21 +18,29 @@ func ConnectDatabase() {
err := godotenv.Load()
if err != nil {
log.Fatal("Error loading .env file")
log.Println("Peringatan: Error loading .env file (menggunakan variabel sistem)")
}
dbHost := os.Getenv("DB_HOST")
dbUser := os.Getenv("DB_USER")
dbPassword := os.Getenv("DB_PASSWORD")
dbName := os.Getenv("DB_NAME")
dbPort := os.Getenv("DB_PORT")
// MENGGUNAKAN strings.TrimSpace UNTUK MEMBUANG SPASI & ENTER TERSEMBUNYI
dbHost := strings.TrimSpace(os.Getenv("DB_HOST"))
dbUser := strings.TrimSpace(os.Getenv("DB_USER"))
dbPassword := strings.TrimSpace(os.Getenv("DB_PASSWORD"))
dbName := strings.TrimSpace(os.Getenv("DB_NAME"))
dbPort := strings.TrimSpace(os.Getenv("DB_PORT"))
dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Jakarta", dbHost, dbUser, dbPassword, dbName, dbPort)
// LOG DEBUGGING: Untuk memastikan panjang karakter password benar (harusnya 8 karakter)
fmt.Printf("[DEBUG] Host: %s | Port: %s | User: %s | DB: %s\n", dbHost, dbPort, dbUser, dbName)
fmt.Printf("[DEBUG] Panjang karakter password yang dibaca Golang: %d\n", len(dbPassword))
dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s sslmode=disable TimeZone=Asia/Jakarta",
dbHost, dbUser, dbPassword, dbName, dbPort)
database, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
DisableForeignKeyConstraintWhenMigrating: true,
})
if err != nil {
fmt.Println("[ERROR FATAL KONEKSI DB]:", err)
panic("Gagal koneksi ke database!")
}
@ -45,4 +54,4 @@ func ConnectDatabase() {
fmt.Println("Sukses terkoneksi ke Database PostgreSQL!")
DB = database
}
}