Files
wehub-resource-sync 75f3dd141c
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (actions) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
CI and Release / lint-frontend (push) Has been cancelled
CI and Release / dockerfile-scan (push) Has been cancelled
CI and Release / test-frontend (push) Has been cancelled
CI and Release / lint-verification-agent (push) Has been cancelled
CI and Release / test-verification-agent (push) Has been cancelled
CI and Release / e2e-verification-agent (push) Has been cancelled
CI and Release / test-backend (push) Has been cancelled
CI and Release / build-dev-image (push) Has been cancelled
CI and Release / push-dev-image (push) Has been cancelled
CI and Release / build-image (push) Has been cancelled
CI and Release / build-verification-image (push) Has been cancelled
CI and Release / determine-version (push) Has been cancelled
CI and Release / push-image (push) Has been cancelled
CI and Release / push-verification-image (12) (push) Has been cancelled
CI and Release / lint-backend (push) Has been cancelled
CI and Release / push-verification-image (17) (push) Has been cancelled
CI and Release / push-verification-image (18) (push) Has been cancelled
CI and Release / release (push) Has been cancelled
CI and Release / publish-helm-chart (push) Has been cancelled
CI and Release / push-verification-image (13) (push) Has been cancelled
CI and Release / push-verification-image (14) (push) Has been cancelled
CI and Release / push-verification-image (15) (push) Has been cancelled
CI and Release / push-verification-image (16) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:11:07 +08:00

56 lines
934 B
Go

package storage
import (
"os"
"sync"
"gorm.io/driver/postgres"
"gorm.io/gorm"
gormLogger "gorm.io/gorm/logger"
"databasus-backend/internal/config"
"databasus-backend/internal/util/logger"
)
var log = logger.GetLogger()
var db *gorm.DB
var initDb = sync.OnceFunc(loadDbs)
func GetDb() *gorm.DB {
initDb()
return db
}
func loadDbs() {
LoadMainDb()
}
func LoadMainDb() {
dbDsn := config.GetEnv().DatabaseDsn
log.Info("Connection to database...")
database, err := gorm.Open(postgres.Open(dbDsn), &gorm.Config{
Logger: gormLogger.Default.LogMode(gormLogger.Silent),
})
if err != nil {
log.Error("error on connecting to database", "error", err)
os.Exit(1)
}
sqlDB, err := database.DB()
if err != nil {
log.Error("error getting underlying sql.DB", "error", err)
os.Exit(1)
}
sqlDB.SetMaxOpenConns(10)
sqlDB.SetMaxIdleConns(10)
db = database
log.Info("Main database connected successfully!")
}