gorm_pgsql.go 737 字节
Newer Older
Mr.奇淼('s avatar
Mr.奇淼( 已提交
1 2 3 4
package initialize

import (
	"github.com/flipped-aurora/gin-vue-admin/server/global"
Sliver_Horn's avatar
Sliver_Horn 已提交
5
	"github.com/flipped-aurora/gin-vue-admin/server/initialize/internal"
Mr.奇淼('s avatar
Mr.奇淼( 已提交
6 7 8 9
	"gorm.io/driver/postgres"
	"gorm.io/gorm"
)

Sliver_Horn's avatar
Sliver_Horn 已提交
10 11 12
// GormPgSql 初始化 Postgresql 数据库
// Author piexlmax
// Author SliverHorn
Mr.奇淼('s avatar
Mr.奇淼( 已提交
13 14 15 16 17 18
func GormPgSql() *gorm.DB {
	p := global.GVA_CONFIG.Pgsql
	if p.Dbname == "" {
		return nil
	}
	pgsqlConfig := postgres.Config{
Sliver_Horn's avatar
Sliver_Horn 已提交
19
		DSN:                  p.Dsn(), // DSN data source name
Mr.奇淼('s avatar
Mr.奇淼( 已提交
20 21
		PreferSimpleProtocol: false,
	}
Sliver_Horn's avatar
Sliver_Horn 已提交
22
	if db, err := gorm.Open(postgres.New(pgsqlConfig), internal.Gorm.Config()); err != nil {
Mr.奇淼('s avatar
Mr.奇淼( 已提交
23 24 25 26 27 28 29 30
		return nil
	} else {
		sqlDB, _ := db.DB()
		sqlDB.SetMaxIdleConns(p.MaxIdleConns)
		sqlDB.SetMaxOpenConns(p.MaxOpenConns)
		return db
	}
}