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() }