Use ActiveRecord Column#type_cast to properly parse fields represented by a string.
Fixed issued reported by Nick Burdick where imported datetime fields was not correctly working with certain string formats for MySQL which doesn't support MM/DD/YYYY format directly.
This commit is contained in:
parent
8e266f74f7
commit
8fbf841fde
3 changed files with 15 additions and 2 deletions
|
@ -129,7 +129,8 @@ module ActiveRecord::Import::AbstractAdapter
|
|||
array_of_attributes.each do |arr|
|
||||
my_values = []
|
||||
arr.each_with_index do |val,j|
|
||||
my_values << quote( val, columns[j] )
|
||||
importable_value = columns[j].type_cast(val)
|
||||
my_values << quote(importable_value, columns[j] )
|
||||
end
|
||||
values << my_values
|
||||
end
|
||||
|
|
|
@ -257,7 +257,7 @@ class ActiveRecord::Base
|
|||
def import_without_validations_or_callbacks( column_names, array_of_attributes, options={} )
|
||||
escaped_column_names = quote_column_names( column_names )
|
||||
columns = []
|
||||
array_of_attributes.first.each_with_index { |arr,i| columns << columns_hash[ column_names[i] ] }
|
||||
array_of_attributes.first.each_with_index { |arr,i| columns << columns_hash[ column_names[i].to_s ] }
|
||||
|
||||
if not supports_import?
|
||||
columns_sql = "(" + escaped_column_names.join( ',' ) + ")"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue