feat: add global & logger

This commit is contained in:
zhangwenjian
2020-06-19 22:09:49 +08:00
parent 7db16d04dd
commit b77f4b5a1b
43 changed files with 200 additions and 181 deletions
+34 -58
View File
@@ -4,24 +4,52 @@ import (
"bytes"
_ "github.com/go-sql-driver/mysql" //加载mysql
"github.com/jinzhu/gorm"
log "github.com/sirupsen/logrus"
"go-admin/global/orm"
"go-admin/tools/config"
"log"
"strconv"
)
var Eloquent *gorm.DB
var (
DbType string
Host string
Port int
Name string
Name string
Username string
Password string
)
func Setup() {
func (e *Mysql) Setup() {
var err error
var db Database
db = new(Mysql)
orm.MysqlConn = db.GetConnect()
log.Info(orm.MysqlConn)
orm.Eloquent, err = db.Open(DbType, orm.MysqlConn)
if err != nil {
log.Fatalf("%s connect error %v", DbType, err)
} else {
log.Printf("%s connect success!", DbType)
}
if orm.Eloquent.Error != nil {
log.Fatalf("database error %v", orm.Eloquent.Error)
}
orm.Eloquent.LogMode(true)
}
type Mysql struct {
}
func (e *Mysql) Open(dbType string, conn string) (db *gorm.DB, err error) {
return gorm.Open(dbType, conn)
}
func (e *Mysql) GetConnect() string {
DbType = config.DatabaseConfig.Dbtype
Host = config.DatabaseConfig.Host
@@ -30,38 +58,6 @@ func Setup() {
Username = config.DatabaseConfig.Username
Password = config.DatabaseConfig.Password
if DbType != "mysql" {
log.Println("db type unknow")
}
var err error
conn := GetMysqlConnect()
log.Println(conn)
var db Database
if DbType == "mysql" {
db = new(Mysql)
Eloquent, err = db.Open(DbType, conn)
} else {
panic("db type unknow")
}
if err != nil {
log.Fatalf("%s connect error %v", DbType, err)
} else {
log.Printf("%s connect success!", DbType)
}
if Eloquent.Error != nil {
log.Fatalf("database error %v", Eloquent.Error)
}
Eloquent.LogMode(true)
}
func GetMysqlConnect() string {
var conn bytes.Buffer
conn.WriteString(Username)
conn.WriteString(":")
@@ -76,23 +72,3 @@ func GetMysqlConnect() string {
conn.WriteString("?charset=utf8&parseTime=True&loc=Local&timeout=1000ms")
return conn.String()
}
type Database interface {
Open(dbType string, conn string) (db *gorm.DB, err error)
}
type Mysql struct {
}
func (*Mysql) Open(dbType string, conn string) (db *gorm.DB, err error) {
eloquent, err := gorm.Open(dbType, conn)
return eloquent, err
}
type SqlLite struct {
}
func (*SqlLite) Open(dbType string, conn string) (db *gorm.DB, err error) {
eloquent, err := gorm.Open(dbType, conn)
return eloquent, err
}