package models
|
|
import (
|
"basic.com/valib/logger.git"
|
"github.com/jinzhu/gorm"
|
_ "github.com/jinzhu/gorm/dialects/sqlite"
|
"strings"
|
"sync"
|
"vamicro/config"
|
)
|
|
var db *gorm.DB
|
var err error
|
var mutex sync.Mutex
|
|
// Init creates a connection to mysql database and
|
// migrates any new models
|
func Init() {
|
db, err = gorm.Open(config.DBconf.Name, "../config/appcenter.db")
|
if err != nil {
|
logger.Debug("db open error ", err)
|
}
|
db.LogMode(true)
|
//db.SetLogger(&DbLogger{})
|
db.AutoMigrate(&Sdk{}, &SdkArgEntity{}, &SdkChanSet{}, &Dictionary{}, &App{})
|
|
//添加默认的通道设置
|
addSdkChanSet()
|
}
|
|
func addSdkChanSet() {
|
var sqls []string
|
sqls = append(sqls, "INSERT INTO sdk_chan_set(`sdk_type`,`chan_num`) SELECT 'Yolo',3 where not exists (select 1 from sdk_chan_set where sdk_type='Yolo');")
|
sqls = append(sqls, "INSERT INTO sdk_chan_set(`sdk_type`,`chan_num`) SELECT 'FaceDetect',9 where not exists (select 1 from sdk_chan_set where sdk_type='FaceDetect');")
|
sqls = append(sqls, "INSERT INTO sdk_chan_set(`sdk_type`,`chan_num`) SELECT 'Plate',9 where not exists (select 1 from sdk_chan_set where sdk_type='Plate');")
|
sqls = append(sqls, "INSERT INTO sdk_chan_set(`sdk_type`,`chan_num`) SELECT 'HumanTrack',9 where not exists (select 1 from sdk_chan_set where sdk_type='HumanTrack');")
|
sqls = append(sqls, "INSERT INTO sdk_chan_set(`sdk_type`,`chan_num`) SELECT 'FaceExtract',200 where not exists (select 1 from sdk_chan_set where sdk_type='FaceExtract');")
|
sqls = append(sqls, "INSERT INTO sdk_chan_set(`sdk_type`,`chan_num`) SELECT 'FaceCompare',2000 where not exists (select 1 from sdk_chan_set where sdk_type='FaceCompare');")
|
db.Exec(strings.Join(sqls, ""))
|
}
|
|
// GetDB ...
|
func GetDB() *gorm.DB {
|
return db
|
}
|
|
func CloseDB() {
|
db.Close()
|
}
|