remove cycle import

master
dustoair 3 years ago
parent 1834fe628e
commit affb39471f

@ -1,73 +0,0 @@
package global
import (
"WechatGateWay/handle"
"fmt"
"github.com/jinzhu/gorm"
"github.com/spf13/viper"
"log"
"net/url"
)
func InitDB() *gorm.DB {
driverName := "mysql"
host := viper.GetString("db.MySQLHOST")
port := viper.GetInt("db.MySQLPORT")
database := viper.GetString("db.MySQLDB")
username := viper.GetString("db.MySQLUSER")
password := viper.GetString("db.MySQLPASSWORD")
charset := viper.GetString("db.MySQLCharset")
loc := viper.GetString("db.MySQLLoc")
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=true&loc=%s",
username,
password,
host,
port,
database,
charset,
url.QueryEscape(loc))
//dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(driverName, dsn)
//db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err == nil {
log.Println("Connected to database")
//db.DB()实现一个连接池
//设置最大连接数和最大闲置数
//默认0表示不限制
db.DB().SetMaxIdleConns(0)
db.DB().SetMaxOpenConns(0)
//给默认表名加前缀
gorm.DefaultTableNameHandler = func(db *gorm.DB, defaultTableName string) string {
//return "admin_" + defaultTableName + "_test_env"
return "" + defaultTableName + ""
}
// 全局禁用表名复数
// 如果设置为true,`User`的默认表名为`user`,使用`TableName`设置的表名不受影响
// 如果设置为false,`User`的默认表名为`users`
db.SingularTable(false)
//打开sql日志
db.LogMode(viper.GetBool("db.GORMLog"))
//创建表时,添加后缀
db.Set("grom:table_options", "ENGINE=InnoDB")
//自动建表
db.AutoMigrate(&handle.WechatLog{})
DB = db
return db
} else {
log.Println("Connected to database failed")
//log.Println("failed to connect database, err: " + err.Error())
panic("failed to connect database, err: " + err.Error())
return nil
}
}

@ -5,15 +5,80 @@ import (
"WechatGateWay/handle"
"WechatGateWay/third_part"
"fmt"
"github.com/jinzhu/gorm"
"github.com/robfig/cron"
"github.com/spf13/viper"
"log"
"math/rand"
"net/http"
"net/url"
"os"
"time"
)
func InitDB() *gorm.DB {
driverName := "mysql"
host := viper.GetString("db.MySQLHOST")
port := viper.GetInt("db.MySQLPORT")
database := viper.GetString("db.MySQLDB")
username := viper.GetString("db.MySQLUSER")
password := viper.GetString("db.MySQLPASSWORD")
charset := viper.GetString("db.MySQLCharset")
loc := viper.GetString("db.MySQLLoc")
dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=true&loc=%s",
username,
password,
host,
port,
database,
charset,
url.QueryEscape(loc))
//dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(driverName, dsn)
//db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err == nil {
log.Println("Connected to database")
//db.DB()实现一个连接池
//设置最大连接数和最大闲置数
//默认0表示不限制
db.DB().SetMaxIdleConns(0)
db.DB().SetMaxOpenConns(0)
//给默认表名加前缀
gorm.DefaultTableNameHandler = func(db *gorm.DB, defaultTableName string) string {
//return "admin_" + defaultTableName + "_test_env"
return "" + defaultTableName + ""
}
// 全局禁用表名复数
// 如果设置为true,`User`的默认表名为`user`,使用`TableName`设置的表名不受影响
// 如果设置为false,`User`的默认表名为`users`
db.SingularTable(false)
//打开sql日志
db.LogMode(viper.GetBool("db.GORMLog"))
//创建表时,添加后缀
db.Set("grom:table_options", "ENGINE=InnoDB")
//自动建表
db.AutoMigrate(&handle.WechatLog{})
global.DB = db
return db
} else {
log.Println("Connected to database failed")
//log.Println("failed to connect database, err: " + err.Error())
panic("failed to connect database, err: " + err.Error())
return nil
}
}
func init() {
rand.Seed(time.Now().UnixNano())
// 读取配置文件
@ -36,7 +101,7 @@ func init() {
global.WxCrypt = global.NewWXBizMsgCrypt(global.WechatToken, global.WechatEncodingAesKey, global.WechatCorpId, global.XmlType)
third_part.GetRemoteToken()
//初始化数据库
global.DB = global.InitDB()
global.DB = InitDB()
defer global.DB.Close()
log.Println("数据库初始化成功")

Loading…
Cancel
Save