2016-06-21 32 views
0

在我的数据库中,我有一个ActiveRecord类型的表,它有一个序列化对象(存储为“---!ruby/hash:”,后面跟着由换行符分隔的类名和键值)。我必须手动重新构建数据库的一部分,现在我拥有的是行的CSV转储。我正在研究导入对象和还原条目的解决方案,但我无法找到反序列化这些序列化哈希的方法。调用什么对象/方法来恢复这些对象?如何在Rails控制台上反序列化Rails ActiveRecord序列化字段?

回答

2

它看起来像你的数据库中有一个yaml对象。你可以尝试以下方法:

YAML::load(your_column) 

随着一列的一个Time对象转换例:

[1] pry(main)> puts t.request 
    --- 2016-06-22 01:23:54.038830166 +03:00 
    ... 
    => nil 
    [2] pry(main)> YAML::load(t.request) 
    => 2016-06-22 01:23:54 +0300 
    [3] pry(main)> YAML::load(t.request).class 
    => Time 
+0

谢谢,这给了我一个推到正确的方向! – Kai

相关问题