Parcourir la source

keep a global DB connection object

Mohammed Nafees il y a 3 ans
Parent
commit
56a4e95d95
1 fichiers modifiés avec 10 ajouts et 0 suppressions
  1. 10 0
      internal/adapter/gorm.go

+ 10 - 0
internal/adapter/gorm.go

@@ -14,8 +14,14 @@ import (
 	"gorm.io/gorm"
 )
 
+var globalDBConn *gorm.DB
+
 // New returns a new gorm database instance
 func New(conf *env.DBConf) (*gorm.DB, error) {
+	if globalDBConn != nil {
+		return globalDBConn, nil
+	}
+
 	logger := logger.New(
 		log.New(os.Stdout, "\r\n", log.LstdFlags),
 		logger.Config{
@@ -86,6 +92,8 @@ func New(conf *env.DBConf) (*gorm.DB, error) {
 			}
 
 			if err == nil {
+				globalDBConn = res
+
 				return res, nil
 			}
 
@@ -93,5 +101,7 @@ func New(conf *env.DBConf) (*gorm.DB, error) {
 		}
 	}
 
+	globalDBConn = res
+
 	return res, err
 }