我正在为我的数据库使用 Postgrex 库,但我有以下问题:数据库中的列之一的类型为uuid. 我正在使用灵药的UUID模块,但每当我试图坚持一些东西到数据库中,我得到以下错误:Postgrex expected a binary of 16 bytes, got "3c5fda26-ea3b-4c77-8f19-06e106a61eda"。我试图将它存储为普通字符串,但正如您所见,这是不可能的。在将 uuid 持久化到数据库之前,我应该如何转换它?
UUID 是一个字符串,但不是“人类可读的字符串”。您看到的3c5fda26-ea3b-4c77-8f19-06e106a61eda不是UUID,它只是人类可能可读的表示形式之一。您需要的是传递直接的内部 UUID 表示形式,它实际上是 16 字节的二进制形式。要将字符串从十六进制表示形式解析为二进制表示形式,您可以使用Ecto.UUID.dump/1.
| 归档时间: |
|
| 查看次数: |
1834 次 |
| 最近记录: |