zhangzengfei
2023-11-28 3a706d3378aa3626501370352963883fd2783558
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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()
}