Как обновить существующие записи, которые ранее не были зашифрованы с помощью gem attr_encrypted.
В настоящее время у меня есть столбец text
в таблице с именем AppointmentNote
, которая является просто строкой. Теперь я хочу иметь столбец с именем note
, который зашифрован (с помощью attr_encrypted).
Я добавил столбцы
encrypted_note
encrypted_note_iv
Это хорошо работает, когда я AppointmentNote.create(note: "blah")
шифрует должным образом, и любые дальнейшие обновления этой записи работают хорошо.
Проблема с записями, созданными до миграции. Как перенести все данные из столбца text
в новые зашифрованные столбцы encrypted_note
и encrypted_note_iv
Это модель
class AppointmentNote < ApplicationRecord
attr_encrypted_options.merge!(encode: true)
attr_encrypted :note, key: SOME_KEY
...
end
Если я сделаю то, что, как я думал, очевидным решением будет просто откат
AppointmentNote.first.update(note: "rawr")
Спасибо