У меня проблемы с камнем хранителя склепа. Я использую версию 2.0.1.
Мне удалось установить все элементы, такие как соль и ключ, и я также успешно шифровал и расшифровывал существующую таблицу. я сделал это, используя: active_support, а также: mysql_aes_new (используя mariadb 10.7).
В конечном итоге я решил, что мне придется использовать: mysql_aes_new, потому что было указано, что это позволяет быстро индексировать и искать данные.
еще, когда я использую примерную область видимости, используя директиву .where, я последовательно получаю пустой набор результатов. я действительно не требую последующего поиска открытого текста, который указан в примере. я попытался выполнить это для поля в таблице, которая зашифрована, а также для поля, которое не является; независимо от того, поиск дает нулевое множество.
Возможно, я что-то упустил? в частности, я пытаюсь установить область, где мне нужно найти все записи, где определенное поле не является нулевым, например:
record_set = Modelname.where('fieldname != ?', nil).order(id: desc)
кроме того, я пытаюсь использовать update_column для установки значения для некоторых строк, и по линиям * 1012 выдается ошибка
Column :<FIELD_NAME> must be of type 'text' or 'binary' to be used for encryption
Поле, указанное в ошибке, не является первым полем в таблице, но оно является первым зашифрованным полем. тем не менее, я не пытаюсь обновить это поле, только то, что мне интересно.
очень странно. немного загадочно (каламбур).