定义一个配置记录是不是timescaledb

This commit is contained in:
2025-09-24 16:06:05 +08:00
parent 6520f2e9d7
commit b668f3fbb5
7 changed files with 46 additions and 1 deletions

View File

@@ -0,0 +1,30 @@
package models
import (
"time"
"gorm.io/datatypes"
)
// SensorData 存储所有类型的传感器数据,对应数据库中的 'sensor_data' 表。
type SensorData struct {
// Time 是数据记录的时间戳,作为复合主键的一部分。
// GORM 会将其映射到 'time' TIMESTAMPTZ 列。
Time time.Time `gorm:"primaryKey"`
// DeviceID 是传感器的唯一标识符,作为复合主键的另一部分。
// GORM 会将其映射到 'device_id' VARCHAR(50) 列。
DeviceID string `gorm:"primaryKey;size:50"`
// RegionalControllerID 是上报此数据的区域主控的ID。
// 我们为其添加了数据库索引以优化按区域查询的性能。
RegionalControllerID string `gorm:"size:50;index"`
// Data 存储一个或多个传感器读数,格式为 JSON。
// GORM 会使用 'jsonb' 类型来创建此列。
Data datatypes.JSON `gorm:"type:jsonb"`
}
func (SensorData) TableName() string {
return "sensor_data"
}

View File

@@ -12,5 +12,6 @@ func GetAllModels() []interface{} {
&PlanExecutionLog{},
&TaskExecutionLog{},
&PendingTask{},
&SensorData{},
}
}