diff --git a/db/migrate/20151130175654_nameservers_i_ps_are_arrays.rb b/db/migrate/20151130175654_nameservers_i_ps_are_arrays.rb new file mode 100644 index 000000000..4e00709a8 --- /dev/null +++ b/db/migrate/20151130175654_nameservers_i_ps_are_arrays.rb @@ -0,0 +1,6 @@ +class NameserversIPsAreArrays < ActiveRecord::Migration + def change + change_column :nameservers, :ipv6, "varchar[] USING (string_to_array(ipv6, ','))", default: [] + change_column :nameservers, :ipv4, "varchar[] USING (string_to_array(ipv4, ','))", default: [] + end +end diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake index 1573848f1..e1e144673 100644 --- a/lib/tasks/import.rake +++ b/lib/tasks/import.rake @@ -471,17 +471,20 @@ namespace :import do nsset = x.nsset nsset.hosts.each do |host| ip_maps = host.host_ipaddr_maps - ips = {} + ips = { + ipv4: [], + ipv6: [], + } ip_maps.each do |ip_map| next unless ip_map.ipaddr - ips[:ipv4] = ip_map.ipaddr.to_s if ip_map.ipaddr.ipv4? - ips[:ipv6] = ip_map.ipaddr.to_s if ip_map.ipaddr.ipv6? - end if ip_maps.any? + ips[:ipv4] << ip_map.ipaddr.to_s.strip if ip_map.ipaddr.ipv4? + ips[:ipv6] << ip_map.ipaddr.to_s.strip if ip_map.ipaddr.ipv6? + end nameservers << [ host.fqdn.try(:strip), - ips[:ipv4].try(:strip), - ips[:ipv6].try(:strip), + ips[:ipv4], + ips[:ipv6], x.object_registry.try(:registrar).try(:name), x.object.try(:registrar).try(:name) ? x.object.try(:registrar).try(:name) : x.object_registry.try(:registrar).try(:name), x.id,