コード例 #1
0
ファイル: models.py プロジェクト: imfht/flaskapp1
class DeviceEventsHour(BaseAggr):
    __tablename__ = 'device_events_hour'
    __table_args__ = (db.Index('device_events_hour_countTime_idx',
                               "countTime"), )
    countTime = db.Column(db.DateTime, primary_key=True)
    tenantID = db.Column(db.String, primary_key=True)
    deviceID = db.Column(db.String(100), primary_key=True)
    streamID = db.Column(db.String(100), primary_key=True)
    dataPointID = db.Column(db.String(100), primary_key=True)
    count = db.Column(db.Integer)
コード例 #2
0
class EmqxBillHour(ModelMixin, db.Model):
    __tablename__ = 'emqx_bills_hour'
    __table_args__ = (db.Index('emqx_bills_hour_countTime_idx', "countTime"), )
    msgType = db.Column(db.Integer, primary_key=True)  # 消息类型
    msgCount = db.Column(db.Integer)  # 小时消息数量
    msgSize = db.Column(db.Integer)  # 小时消息流量
    countTime = db.Column(db.DateTime, primary_key=True)  # 统计时间
    tenantID = db.Column(db.String,
                         db.ForeignKey('tenants.tenantID',
                                       onupdate="CASCADE",
                                       ondelete="CASCADE"),
                         primary_key=True)
コード例 #3
0
ファイル: models.py プロジェクト: imfht/flaskapp1
class ConnectLog(ModelMixin, db.Model):
    """ client connect log """
    __tablename__ = 'connect_logs'
    __table_args__ = (db.Index('connect_logs_msgTime_idx', "msgTime"), )
    keepAlive = db.Column(db.Integer)
    IP = db.Column(db.String)
    connectStatus = db.Column(
        db.SmallInteger)  # 0:Offline, 1:Online, 2:AuthenticateFailed
    msgTime = db.Column(db.DateTime,
                        server_default=func.now(),
                        primary_key=True)
    deviceID = db.Column(db.String, primary_key=True)  # device uid
    tenantID = db.Column(db.String, primary_key=True)  # tenant uid
コード例 #4
0
ファイル: models.py プロジェクト: imfht/flaskapp1
class DeviceEvent(ModelMixin, db.Model):
    """ device upload event """
    __tablename__ = 'device_events'
    __table_args__ = (db.Index('device_events_msgTime_idx', "msgTime"), )
    msgTime = db.Column(db.DateTime, primary_key=True)
    tenantID = db.Column(db.String(9), primary_key=True)
    deviceID = db.Column(db.String(100), primary_key=True)
    dataType = db.Column(db.SmallInteger,
                         primary_key=True)  # 1:event  2:response
    topic = db.Column(db.String(500))
    streamID = db.Column(db.String(100))
    data = db.Column(JSONB)
    responseResult = db.Column(JSONB)
コード例 #5
0
class PublishLog(ModelMixin, db.Model):
    """
    controlType: 1:Publish,2:Read,3:Write,4 Execute
    publishStatus: 0:Failed,1:Published 2:Arrived
    """
    __tablename__ = 'publish_logs'
    __table_args__ = (db.Index('publish_logs_msgTime_idx', "msgTime"), )
    topic = db.Column(db.String(1000))  # mqtt topic
    streamID = db.Column(db.String(1000))  # stream id
    payload = db.Column(JSONB)  # publish payload
    publishStatus = db.Column(db.SmallInteger)
    taskID = db.Column(db.String(64))
    msgTime = db.Column(db.DateTime,
                        server_default=func.now(),
                        primary_key=True)
    deviceID = db.Column(db.String, primary_key=True)  # device uid
    tenantID = db.Column(db.String, primary_key=True)  # tenant uid
コード例 #6
0
class CurrentAlert(BaseModel):
    __tablename__ = 'current_alerts'
    createAt = db.Column(db.DateTime, server_default=func.now())
    alertName = db.Column(db.String(50))
    alertContent = db.Column(db.String(300))
    alertTimes = db.Column(db.Integer)
    alertDetail = db.Column(JSON)
    alertSeverity = db.Column(db.SmallInteger)
    startTime = db.Column(db.DateTime)
    deviceID = db.Column(db.String(100))
    ruleIntID = db.Column(
        db.Integer,
        db.ForeignKey('rules.id', onupdate="CASCADE", ondelete="CASCADE"))
    tenantID = db.Column(
        db.String,
        db.ForeignKey('tenants.tenantID',
                      onupdate="CASCADE",
                      ondelete="CASCADE"))
    __table_args__ = (db.Index('alerts_rule_key',
                               'tenantID',
                               'deviceID',
                               'ruleIntID',
                               unique=True), )
コード例 #7
0
    tenantID = db.Column(
        db.String,
        db.ForeignKey('tenants.tenantID',
                      onupdate="CASCADE",
                      ondelete="CASCADE"))


EmqxBill = db.Table(
    'emqx_bills',
    db.Column('msgTime', db.DateTime, nullable=False),  # 消息时间
    db.Column('tenantID', db.String(9)),  # 租户ID
    db.Column('productID', db.String(6)),  # 产品 ID
    db.Column('deviceID', db.String(100)),  # 设备ID
    db.Column('msgType', db.SmallInteger),  # 1登录,2订阅,3取消订阅,4发布,5接收
    db.Column('msgSize', db.Integer),  # 消息大小
    db.Index('emqx_bills_msgTime_idx', 'msgTime'),
    db.Index('emqx_bills_union_idx', 'msgTime', 'tenantID', 'deviceID',
             'msgType'))


class EmqxBillHour(ModelMixin, db.Model):
    __tablename__ = 'emqx_bills_hour'
    __table_args__ = (db.Index('emqx_bills_hour_countTime_idx', "countTime"), )
    msgType = db.Column(db.Integer, primary_key=True)  # 消息类型
    msgCount = db.Column(db.Integer)  # 小时消息数量
    msgSize = db.Column(db.Integer)  # 小时消息流量
    countTime = db.Column(db.DateTime, primary_key=True)  # 统计时间
    tenantID = db.Column(db.String,
                         db.ForeignKey('tenants.tenantID',
                                       onupdate="CASCADE",
                                       ondelete="CASCADE"),