| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package models
- import (
- "fwh-toolbox-server/database"
- "time"
- "gorm.io/datatypes"
- )
- var db = database.PgSQL
- type DataTypes string
- // DataType
- const (
- DT_API DataTypes = "API"
- DT_MQTT DataTypes = "MQTT"
- )
- /*
- * DataType -> ChildType -> SubChildType
- *
- * DataType = "API"
- * 当数据从API请求获取时,数据类型则为 “API”
- * API类型数据的ChildType为API路径名
- *
- * DataType = "MQTT"
- * 当数据是从云MQTT日志获取时,数据类型则为 “MQTT”
- * MQTT类型数据的ChildType为cmdType,如:0、101、201等
- */
- type SiteOriginalData struct {
- ID int64 `gorm:"primaryKey"` // 使用雪花ID算法
- DataType DataTypes `gorm:"size:64;not null;uniqueIndex:idx_type_sn_time"`
- ChildType string `gorm:"size:64;not null;uniqueIndex:idx_type_sn_time"`
- SubChildType string `gorm:"size:64;not null;default:'';uniqueIndex:idx_type_sn_time"`
- SN string `gorm:"size:64;not null;uniqueIndex:idx_type_sn_time"`
- DataTime time.Time `gorm:"type:timestamp;not null;default:CURRENT_TIMESTAMP;uniqueIndex:idx_type_sn_time"` // TIMESTAMP WITHOUT TIME ZONE
- JsonData datatypes.JSON `gorm:"type:jsonb"` // PostgreSQL 使用 jsonb
- }
- // 指定 schema
- func (SiteOriginalData) TableName() string {
- return "original.site_original_data"
- }
- func InitSiteOriginalDataTable() {
- err := db.AutoMigrate(&SiteOriginalData{})
- if err != nil {
- panic(err)
- }
- }
- func InsertSiteOriginalApiData(type string, ) {
- }
|