index.go
1.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package svmysql
import (
"apigame/service-common/svconst"
"fmt"
"github.com/astaxie/beego"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"log"
"os"
"time"
)
func Init() bool {
// ConnectMySQL
if db, err := ConnectMySQL(beego.AppConfig.String("mysql::" + svconst.MYSQL_DBAPI)); err == nil {
svconst.DbApi = db
} else {
fmt.Println("svmysql.Init DbApi Error::" + err.Error())
return false
}
if db, err := ConnectMySQL(beego.AppConfig.String("mysql::mergecommon")); err == nil {
svconst.DbCommon = db
} else {
fmt.Println("svmysql.Init DbCommon Error::" + err.Error())
return false
}
if db, err := ConnectMySQL(beego.AppConfig.String("mysql::" + svconst.MYSQL_MERGECONFIG)); err == nil {
svconst.DbConfig = db
} else {
fmt.Println("svmysql.Init DbConfig Error::" + err.Error())
return false
}
return true
}
func ConnectMySQL(dsn string) (db *gorm.DB, err error) {
newLogger := logger.New(
log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer
logger.Config{
SlowThreshold: time.Second, // Slow SQL threshold
LogLevel: logger.Silent, // Log level
IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger
ParameterizedQueries: true, // Don't include params in the SQL log
Colorful: false, // Disable color
},
)
return gorm.Open(mysql.Open(dsn), &gorm.Config{
Logger: newLogger,
})
}