Esto resultó ser causado por un error en persistent-mysql
paquete que ahora está arreglado en persistent-mysql-2.3
.
Aquí está la causa raíz para aquellos interesados:
La biblioteca MySQL C (y por extensión Haskell mysql
paquete, que persistent-mysql
depende de) no distingue entre datos binarios y textuales en el nivel de tipo. Entonces, si guardó un TEXT
valor a la base de datos, cuando se buscó de forma persistente, parecía ser datos binarios (un PersistByteString
).
Esto se solucionó en #451 comprobando el conjunto de caracteres de la columna, que los documentos de la API de MySQL recomiendan como la solución adecuada.
Para obtener más detalles, consulte esa solicitud de extracción o este problema .
Gracias por hacer esta pregunta; De lo contrario, no me habría dado cuenta de que había un error.