<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1434,6 +1434,16 @@ module ActiveRecord #:nodoc:
             else
               allocate
             end
+          
+          columns_to_deserialize = record.keys.select {|k| serialized_attributes[k]}
+          columns_to_deserialize.each do |k|
+            next unless record[k]
+            deserialized_record = YAML::load(record[k])
+            unless deserialized_record.is_a? serialized_attributes[k] || deserialized_record.nil?
+              raise SerializationTypeMismatch, &quot;#{k} was supposed to be a #{serialized_attributes[k]}, but was a #{deserialized_record.class.to_s}&quot;
+            end
+            record[k] = deserialized_record
+          end
 
           object.instance_variable_set(&quot;@attributes&quot;, record)
           object.instance_variable_set(&quot;@attributes_cache&quot;, Hash.new)
@@ -2565,7 +2575,10 @@ module ActiveRecord #:nodoc:
         connection = self.class.connection
         attribute_names.each do |name|
           if column = column_for_attribute(name)
-            quoted[name] = connection.quote(read_attribute(name), column) unless !include_primary_key &amp;&amp; column.primary
+            unless !include_primary_key &amp;&amp; column.primary
+              quoted[name] = connection.quote(read_attribute(name), column) 
+              quoted[name] = connection.quote(read_attribute(name).to_yaml, column) if self.class.serialized_attributes[name]
+            end
           end
         end
         include_readonly_attributes ? quoted : remove_readonly_attributes(quoted)</diff>
      <filename>vendor/rails/activerecord/lib/active_record/base.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a899cb043940fe0bfdf5927a38c69d2c392874b3</id>
    </parent>
  </parents>
  <author>
    <name>Bryce Kerley</name>
    <email>bryce@worldmedia.net</email>
  </author>
  <url>http://github.com/bkerley/serialize_test/commit/f869ee70aa1c05da03c8953b5b5daa7333e36a9b</url>
  <id>f869ee70aa1c05da03c8953b5b5daa7333e36a9b</id>
  <committed-date>2008-07-15T15:10:42-07:00</committed-date>
  <authored-date>2008-07-15T15:10:42-07:00</authored-date>
  <message>conditionally serialize and deserialize</message>
  <tree>23bb6394f94bb9731c76fb71e119ca003e179ae7</tree>
  <committer>
    <name>Bryce Kerley</name>
    <email>bryce@worldmedia.net</email>
  </committer>
</commit>
