12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package models
-
- import (
- "wechat-conf/utils"
-
- "github.com/astaxie/beego/config"
- _ "github.com/go-sql-driver/mysql"
- "github.com/go-xorm/xorm"
- )
-
- var (
- DBEngine *xorm.Engine
- )
-
- func InitDB() {
- DBEngine = NewDBEngine()
- }
-
- // NewDBEngine 初始化数据库连接
- func NewDBEngine() *xorm.Engine {
- dbType := "mysql"
- dns := getMySQLDNS()
-
- engine, err := xorm.NewEngine(dbType, dns)
- // engine.ShowSQL()
-
- if err != nil {
- panic(err)
- }
-
- return engine
- }
-
- func getMySQLDNS() (dns string) {
- appRoot := utils.GetAppRoot()
- dbconf, _ := config.NewConfig("ini", appRoot+"/conf/db.conf")
-
- conProt := dbconf.DefaultString("con_protocol", "tcp")
- dbAddr := dbconf.DefaultString("db_addr", "localhost")
- dbPort := dbconf.DefaultString("db_port", "3306")
- userName := dbconf.DefaultString("username", "root")
- password := dbconf.String("password")
- database := dbconf.String("database")
- charSet := dbconf.DefaultString("char_set", "utf8")
-
- dns = userName
-
- if len(password) > 0 {
- dns += ":" + password
- }
-
- dns += "@" + conProt + "(" + dbAddr + ":" + dbPort + ")" + "/" + database + "?charset=" + charSet
-
- return
- }
|