问题描述
我刚刚从Thingsboard 2.4升级到3.0,并且也从Postgresql 9.6升级到了12。
我一直在从Postgre检索数据,同时使用不带连字符值的键从ts_kv表中获取数据。
ts_kv表的entity_id字段类似于Postgresql 9.6中的“ 1e81629b3d597b0b9dd7d78e05760aa”。该值没有hypyens。但是ts_kv表的entity_id字段已更改,如postgre 12中的'b3d597b0-1629-11e8-b9dd-7d78e05760aa'一样,除了ts_kv表之外,所有id字段都类似于'1e81629b3d597b0b9dd7d78e05760aa'。带有连字符的值可能是UUID。
我可以从设备表中获取没有连字符的id字段的值,然后我想从ts_kv表中选择一些键值。
我可以将不带连字符的值转换为UUID吗? 还有一些从ThingsBoard数据库检索数据的方法吗?
谢谢
解决方法
我们在2.x中使用了UUID的怪异表示法,以保持我们的Cassandra和Postgresql API之间的兼容性,并允许按创建时间对实体进行排序。这是一个糟糕的设计,这就是为什么在3.x版中,我们用普通表示法替换了UUID的怪异表示法,并且还添加了created_time。请参阅转换功能: