first commit
This commit is contained in:
46
database/config/postgres_db.go
Normal file
46
database/config/postgres_db.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
configs "ares/config"
|
||||
"time"
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
)
|
||||
|
||||
var DBPg *gorm.DB
|
||||
|
||||
func ConnectDBPg() {
|
||||
dsn := configs.AppConfig.DBPGUrl
|
||||
if dsn == "" {
|
||||
if configs.Logger != nil {
|
||||
configs.Logger.Warn(".env dosyasında DB_URL ayarlı değil — veritabanı bağlantısı atlanıyor (geliştirme modu)")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if configs.Logger != nil {
|
||||
configs.Logger.Info("Yapılandırmada DB_URL_PG bulundu, veritabanına bağlanılmaya çalışılıyor...")
|
||||
}
|
||||
|
||||
// GORM için MySQL konfigürasyonu
|
||||
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{
|
||||
Logger: logger.Default.LogMode(logger.Warn), // Info seviyesi (performans etkileyebilir); üretimde Error seviyesine alınabilir
|
||||
PrepareStmt: true, // PrepareStmt performansını artırmak için
|
||||
NowFunc: func() time.Time {
|
||||
return time.Now().UTC()
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
if configs.Logger != nil {
|
||||
configs.Logger.Sugar().Errorf("Postgres veritabanı bağlantısı kurulamadı: %v", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if configs.Logger != nil {
|
||||
configs.Logger.Info("Postgres veritabanı bağlantısı kuruldu.")
|
||||
}
|
||||
DBPg = db
|
||||
}
|
||||
Reference in New Issue
Block a user