2015-05-25 113 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