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
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
|
|
}
|