From 0c3df1a5f07de11bbc930d268af836400ddf812e Mon Sep 17 00:00:00 2001 From: Samuel Pua Date: Wed, 19 Oct 2022 20:47:22 +0800 Subject: [PATCH] Fix(database): Database connect retry --- backend/internal/common/database.go | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/backend/internal/common/database.go b/backend/internal/common/database.go index 8e910c8..ed2be26 100644 --- a/backend/internal/common/database.go +++ b/backend/internal/common/database.go @@ -45,12 +45,20 @@ func InitDB() *gorm.DB { ) dsn := fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s sslmode=%s TimeZone=Asia/Singapore", host, user, pass, dbName, port, sslMode) - db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{ - Logger: newLogger, - }) - if err != nil { - fmt.Println("db err: (Init) ", err) + + var db *gorm.DB + var err error + + for ok := true; ok; ok = err != nil { + db, err = gorm.Open(postgres.Open(dsn), &gorm.Config{ + Logger: newLogger, + }) + if err != nil { + fmt.Println("db err: (Init) ", err) + time.Sleep(1 * time.Second) + } } + DB = db return DB }