| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- package mysql
- import (
- "dsbqj-admin/pkg/logger"
- "fmt"
- "os"
- "time"
- "github.com/gin-gonic/gin"
- "github.com/jinzhu/gorm"
- //
- _ "github.com/jinzhu/gorm/dialects/mysql"
- )
- // DB 数据库链接单例
- var DB *gorm.DB
- // Database 在中间件中初始化mysql链接
- func Database(connString string) {
- logger.Info("开始连接mysql....%s", connString)
- db, err := gorm.Open("mysql", connString)
- db.LogMode(true)
- // Error
- if err != nil {
- fmt.Println(err)
- panic(err)
- }
- if gin.Mode() == "release" {
- db.LogMode(false)
- }
- //设置连接池
- //空闲
- db.DB().SetMaxIdleConns(20)
- //打开
- db.DB().SetMaxOpenConns(100)
- //超时
- db.DB().SetConnMaxLifetime(time.Second * 30)
- gorm.DefaultTableNameHandler = func(db *gorm.DB, defaultTableName string) string {
- return os.Getenv("MYSQL_PREFIX") + defaultTableName
- }
- DB = db
- logger.Info("连接mysql成功...")
- migration()
- }
- func Connect(connString string, prefix string) *gorm.DB {
- fmt.Println("开始连接mysql....")
- db, err := gorm.Open("mysql", connString)
- db.LogMode(true)
- // Error
- if err != nil {
- panic(err)
- }
- if gin.Mode() == "release" {
- db.LogMode(false)
- }
- //设置连接池
- //空闲
- db.DB().SetMaxIdleConns(20)
- //打开
- db.DB().SetMaxOpenConns(100)
- //超时
- db.DB().SetConnMaxLifetime(time.Second * 30)
- gorm.DefaultTableNameHandler = func(db *gorm.DB, defaultTableName string) string {
- return prefix + defaultTableName
- }
- fmt.Println("连接mysql成功...")
- return db
- }
|