2015-05-25 65 views
0

我原来的问题是我需要插入大量的记录到数据库,所以为了加快速度,我想使用mysqlimport,它接收一个行值的文件并将它们加载到指定的表中。所以假设我有Model Book,我不能简单地使用book.attributes.values,因为其中一个字段是序列化为db的哈希(使用serialize),所以我需要知道这个哈希将被存储的格式是什么在db中。时间和日期字段相同。任何帮助?如何从活动记录对象获取数据库sql值?

+0

取决于您使用序列化......什么'yaml' ..'j​​son' ..等.. –

+0

我序列简单的哈希数据库,使用: 连载:my_hash,哈希 –

回答

0

如何使用SQL插入语句而不是序列化?

book = Book.new(:title => 'Much Ado About Nothing', author: 'William Shakespeare') 

sql = book.class.arel_table.create_insert 
    .tap { |im| im.insert(record.send(
      :arel_attributes_with_values_for_create, 
      record.attribute_names)) } 
    .to_sql