Ciò si è rivelato essere causato da un bug in persistent-mysql
pacchetto che ora è stato corretto in persistent-mysql-2.3
.
Ecco la causa principale per gli interessati:
La libreria C MySQL (e per estensione Haskell mysql
pacchetto, che persistent-mysql
dipende da) non distingue tra dati binari e testuali a livello di tipo. Quindi, se hai salvato un TEXT
valore al database, quando è stato cercato da persistente sembrava essere dati binari (un PersistByteString
).
Questo problema è stato risolto in #451 controllando il set di caratteri della colonna, che i documenti dell'API MySQL consigliano come soluzione appropriata.
Per maggiori dettagli, consulta la richiesta pull o questo problema .
Grazie per aver posto questa domanda; Altrimenti non mi sarei reso conto che c'era un bug.