initiate multi db config

This commit is contained in:
dpurbosakti
2025-09-11 12:19:06 +07:00
parent a22b70b949
commit 96a2ae9251
5 changed files with 20 additions and 45 deletions
+13 -5
View File
@@ -15,11 +15,19 @@ dbCfg:
maxIdleConns: 5 maxIdleConns: 5
maxIdleTime: 100 maxIdleTime: 100
ssDbCfg: multiDbCfg:
dsn: - dbs :
maxOpenConns: 5 name:
maxIdleConns: 5 dsn:
maxIdleTime: 100 maxOpenConns:
maxIdleConns:
maxIdleTime:
- bpjs
name: bpjs
dsn:
maxOpenConns:
maxIdleConns:
maxIdleTime:
loggerCfg: loggerCfg:
hideTime: hideTime:
+2
View File
@@ -49,3 +49,5 @@ require (
gorm.io/driver/sqlite v1.5.7 // indirect gorm.io/driver/sqlite v1.5.7 // indirect
gorm.io/driver/sqlserver v1.5.4 // indirect gorm.io/driver/sqlserver v1.5.4 // indirect
) )
replace github.com/karincake/apem => D:\Kuli\Sabbi\external\apem
+3 -30
View File
@@ -1,36 +1,9 @@
package ssdb package ssdb
import ( import (
"log" dg "github.com/karincake/apem/db-gorm-pg"
a "github.com/karincake/apem"
lo "github.com/karincake/apem/loggero"
"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/schema"
) )
func Init() { func SetInstance() {
SetConfig() I = dg.IS["satu-sehat"]
NewInstance()
}
func SetConfig() {
a.ParseSingleCfg(&Cfg)
}
func NewInstance() {
// create database connection
db, err := gorm.Open(postgres.Open(Cfg.Dsn), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
SingularTable: true,
NoLowerCase: true,
},
})
if err != nil {
log.Fatal(err)
}
SSDb = db
lo.I.Println("Instantiation for satu-sehat database-connetion using db-gorm-pg, status: DONE!!")
} }
+1 -9
View File
@@ -2,12 +2,4 @@ package ssdb
import "gorm.io/gorm" import "gorm.io/gorm"
type SsDbCfg struct { var I *gorm.DB
Dsn string
MaxOpenConns int `yaml:"maxOpenConns"`
MaxIdleConns int `yaml:"maxIdleConns"`
MaxIdleTime int `yaml:"maxIdleTime"`
}
var Cfg SsDbCfg = SsDbCfg{}
var SSDb *gorm.DB
@@ -80,7 +80,7 @@ func SetRoutes() http.Handler {
///// /////
a.RegisterExtCall(gs.Adjust) a.RegisterExtCall(gs.Adjust)
a.RegisterExtCall(zlc.Adjust) a.RegisterExtCall(zlc.Adjust)
a.RegisterExtCall(ssdb.Init) a.RegisterExtCall(ssdb.SetInstance)
a.RegisterExtCall(lh.Populate) a.RegisterExtCall(lh.Populate)
a.RegisterExtCall(validation.RegisterValidation) a.RegisterExtCall(validation.RegisterValidation)