我们的应用程序有一个文本字段:schedule。
最初,我们将数据存储为字符串。
我们将模型更改为serialize :schedule, Hash
为了修复遗留数据,我们只想用 nil 替换旧的(字符串)数据。
但是,一旦我们添加了序列化,尝试向字段(如果它有字符串)写入任何内容(nil 或替换哈希)都会引发异常:
ActiveRecord::SerializationTypeMismatch: schedule was supposed to be a Hash, but was a String
有没有办法覆盖序列化异常并强制该字段为零或替换哈希?
也许有一种方法可以通过 SQL 更新字段来绕过序列化?
(我知道我们可以使用迁移来删除列然后重新添加它,但我正在寻找一种在 rake 任务中执行此操作的方法。)