|
|
@@ -5,13 +5,28 @@ import (
|
|
|
"regexp"
|
|
|
"time"
|
|
|
|
|
|
+ "git.qianqiusoft.com/qianqiusoft/light-apiengine/config"
|
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/logs"
|
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
|
|
|
"git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
|
|
|
"github.com/xormplus/xorm"
|
|
|
)
|
|
|
|
|
|
+// InitializeWithDefaultValue defined
|
|
|
+func InitializeWithDefaultValue(init int32, dlt int32) {
|
|
|
+ if init == 0 {
|
|
|
+ return dlt
|
|
|
+ }
|
|
|
+ return init
|
|
|
+}
|
|
|
+
|
|
|
func createDatabase(orm *xorm.Engine) {
|
|
|
+ maxLifeTime := InitializeWithDefaultValue(config.AppConfig.GetInt("max_life_time"), 10)
|
|
|
+ maxIdleConns := InitializeWithDefaultValue(config.AppConfig.GetInt("max_idle_conns"), 10)
|
|
|
+ maxOpenConns := InitializeWithDefaultValue(config.AppConfig.GetInt("max_open_conns"), 30)
|
|
|
+ fmt.Println("maxLifeTime = ", maxLifeTime)
|
|
|
+ fmt.Println("maxIdleConns = ", maxIdleConns)
|
|
|
+ fmt.Println("maxOpenConns = ", maxOpenConns)
|
|
|
if orm.DriverName() == "mysql" {
|
|
|
dbname := orm.DataSourceName()
|
|
|
reg := regexp.MustCompile("(.*)/(.*)(\\?.*)")
|
|
|
@@ -22,9 +37,9 @@ func createDatabase(orm *xorm.Engine) {
|
|
|
dbname = strings[2]
|
|
|
db, _ := xorm.NewEngine(orm.DriverName(), strings[1]+"/")
|
|
|
db.ShowSQL(true)
|
|
|
- db.SetConnMaxLifetime(10 * time.Minute)
|
|
|
- db.SetMaxIdleConns(10)
|
|
|
- db.SetMaxOpenConns(80)
|
|
|
+ db.SetConnMaxLifetime(maxLifeTime * time.Minute)
|
|
|
+ db.SetMaxIdleConns(maxIdleConns)
|
|
|
+ db.SetMaxOpenConns(maxOpenConns)
|
|
|
_, err := db.Sql("CREATE DATABASE IF NOT EXISTS `" + dbname + "` default charset utf8 COLLATE utf8_general_ci").Execute()
|
|
|
if err != nil {
|
|
|
fmt.Println("create database error", err)
|