Okazało się, że jest to spowodowane błędem w persistent-mysql
pakiet, który jest teraz naprawiony w persistent-mysql-2.3
.
Oto główna przyczyna dla zainteresowanych:
Biblioteka MySQL C (i rozszerzenie Haskell mysql
pakiet, który persistent-mysql
zależy od) nie rozróżnia danych binarnych i tekstowych na poziomie typu. Więc jeśli zapisałeś TEXT
wartości do bazy danych, gdy została wyszukana przez trwałą, wyglądała na dane binarne (PersistByteString
).
Zostało to naprawione w #451 sprawdzając zestaw znaków kolumny, który dokumentacja MySQL API zaleca jako odpowiednie rozwiązanie.
Aby uzyskać więcej informacji, zobacz to żądanie ściągnięcia lub ten problem .
Dzięki za zadanie tego pytania; W przeciwnym razie nie zdawałbym sobie sprawy, że istnieje błąd.