2016-06-21 6 views
0

私のデータベースには、シリアル化されたオブジェクト( "---!ruby/hash:"の後ろにクラス名とキー/値が改行で区切られて格納されています)を持つActiveRecordタイプのテーブルがあります。私は手動でデータベースの一部を再構築しなければならず、今私が持っているのはすべて行のCSVダンプです。私は、オブジェクトをインポートし、エントリを復元するためのソリューションに取り組んでいますが、私はシリアル化されたハッシュを逆シリアル化する方法を見つけることができません。これらのオブジェクトを復元するために呼び出すオブジェクト/メソッドは何ですか?railsコンソールでRails ActiveRecordシリアル化フィールドをどのように逆シリアル化するのですか?

答えて

2

データベースにyamlオブジェクトがあるようです。あなたは次のことを試すことができます:Timeオブジェクトを持つ列の例変換として

YAML::load(your_column) 

[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

関連する問題