You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

92 lines
2.2 KiB

package db
import (
"fmt"
"gitea.baoapi.com/root/stu_uuos/config"
"gitea.baoapi.com/root/stu_uuos/logger"
"gitea.baoapi.com/root/stu_uuos/util"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/postgres"
log "github.com/micro/go-micro/v2/logger"
)
var postgresDB *gorm.DB
var postgresDB2 *gorm.DB
var postgresDB3 *gorm.DB
func openPostgres() {
dataSourceName := fmt.Sprintf(
"host=%s port=%d user=%s dbname=%s password=%s sslmode=disable",
config.GetConfig().DB.Host,
config.GetConfig().DB.Port,
config.GetConfig().DB.User,
config.GetConfig().DB.Dbname,
config.GetConfig().DB.Password,
)
db, err := gorm.Open("postgres", dataSourceName)
if err != nil {
log.Fatal("failed to connect database: ", err)
}
dbCfg(db)
postgresDB = db
util.PrintInfo(fmt.Sprintf("connection to postgres database: %s", dataSourceName))
}
func openPostgres2() {
dataSourceName := fmt.Sprintf(
"host=%s port=%d user=%s dbname=%s password=%s sslmode=disable",
config.GetConfig().DB2.Host,
config.GetConfig().DB2.Port,
config.GetConfig().DB2.User,
config.GetConfig().DB2.Dbname,
config.GetConfig().DB2.Password,
)
db, err := gorm.Open("postgres", dataSourceName)
if err != nil {
log.Fatal("failed to connect database: ", err)
}
//dbCfg(db)
db.LogMode(true)
db.SetLogger(logger.GetLogger())
db.DB().SetMaxOpenConns(20)
db.DB().SetMaxIdleConns(10)
db.SingularTable(true)
postgresDB2 = db
util.PrintInfo(fmt.Sprintf("connection to postgres database: %s", dataSourceName))
}
func openPostgres3() {
dataSourceName := fmt.Sprintf(
"host=%s port=%d user=%s dbname=%s password=%s sslmode=disable",
config.GetConfig().DB3.Host,
config.GetConfig().DB3.Port,
config.GetConfig().DB3.User,
config.GetConfig().DB3.Dbname,
config.GetConfig().DB3.Password,
)
db, err := gorm.Open("postgres", dataSourceName)
if err != nil {
log.Fatal("failed to connect database: ", err)
}
//dbCfg(db)
db.LogMode(true)
db.SetLogger(logger.GetLogger())
db.DB().SetMaxOpenConns(20)
db.DB().SetMaxIdleConns(10)
postgresDB3 = db
util.PrintInfo(fmt.Sprintf("connection to postgres database: %s", dataSourceName))
}
func PostgresDB() *gorm.DB {
return postgresDB
}