def truncate_value_to_field_limit(field, value)
return value unless mysql_adapter?(self.class.connection)
return if value.nil?
column = self.class.columns_hash[field.to_s]
maximum, type, encoding = ActiveRecord::DatabaseValidations::MySQL.column_size_limit(column)
value = ActiveRecord::DatabaseValidations::MySQL.value_for_column(value, encoding)
case type
when :characters
value = value.slice(0, maximum) if maximum && value.length > maximum
when :bytes
value = value.mb_chars.limit(maximum).to_s if maximum && value.bytesize > maximum
end
value
end