From 5d99da0b7c4335574b14a8daf49dafe41015b7ca Mon Sep 17 00:00:00 2001 From: "[Valentino Heman Budiarto]" <[hemanvalentino@gmail.com]> Date: Fri, 29 May 2026 19:40:32 +0700 Subject: [PATCH] Fix database connection with TrimSpace --- backend/config/database.go | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/backend/config/database.go b/backend/config/database.go index 34a019f..9101bc0 100644 --- a/backend/config/database.go +++ b/backend/config/database.go @@ -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 -} +} \ No newline at end of file