代码拉取完成,页面将自动刷新
package relationDB
import (
"context"
"gitee.com/i-Things/share/conf"
"gitee.com/i-Things/share/stores"
"gorm.io/gorm/clause"
"sync"
)
var once sync.Once
func Migrate(c conf.Database) (err error) {
//if c.IsInitTable == false {
// return
//}
once.Do(func() {
db := stores.GetCommonConn(context.TODO())
var needInitColumn bool
if !db.Migrator().HasTable(&DataStatisticsInfo{}) {
//需要初始化表
needInitColumn = true
}
err = db.AutoMigrate(
&DataStatisticsInfo{},
)
if err != nil {
return
}
if needInitColumn {
err = migrateTableColumn()
}
})
return
}
func migrateTableColumn() error {
db := stores.GetCommonConn(context.TODO()).Clauses(clause.OnConflict{DoNothing: true})
if err := db.CreateInBatches(&MigrateStatisticsInfo, 100).Error; err != nil {
return err
}
return nil
}
var (
MigrateStatisticsInfo = []DataStatisticsInfo{
{
IsFilterTenant: 1,
IsFilterProject: 1,
IsFilterArea: 1,
Code: "dmDevicePower",
Type: "table",
Table: "data_dm_device_power",
Omits: "created_time,updated_time",
IsToHump: 1,
Sql: "",
OrderBy: "",
Filter: map[string]FilterKeywords{
"startDate": { //开始时间
Sql: "?>=date",
ValNum: 1,
Type: "date",
},
"endDate": { //开始时间
Sql: "?<=date",
ValNum: 1,
Type: "date",
},
},
},
{
IsFilterTenant: 1,
IsFilterProject: 1,
IsFilterArea: 1,
Code: "dmDeviceCount",
Type: "table",
Table: "dm_device_info",
Omits: "created_time,updated_time",
IsToHump: 1,
Sql: "",
OrderBy: "",
Filter: map[string]FilterKeywords{
"startDate": { //开始时间
Sql: "?>=date",
ValNum: 1,
Type: "date",
},
"endDate": { //开始时间
Sql: "?<=date",
ValNum: 1,
Type: "date",
},
},
},
}
)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。