diff --git a/app/models/legacy/dnskey.rb b/app/models/legacy/dnskey.rb index 49f8570ee..3fa47f48b 100644 --- a/app/models/legacy/dnskey.rb +++ b/app/models/legacy/dnskey.rb @@ -1,5 +1,8 @@ module Legacy class Dnskey < Db self.table_name = :dnskey + + belongs_to :object_registry, foreign_key: :id + belongs_to :object, foreign_key: :id end end diff --git a/app/models/legacy/nsset.rb b/app/models/legacy/nsset.rb index 9b8a84469..6cdb09404 100644 --- a/app/models/legacy/nsset.rb +++ b/app/models/legacy/nsset.rb @@ -2,6 +2,8 @@ module Legacy class Nsset < Db self.table_name = :nsset + belongs_to :object, foreign_key: :id + belongs_to :object_state, foreign_key: :id, primary_key: :object_id has_many :hosts, foreign_key: :nssetid end end diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake index 315ed2093..6ffb27fd1 100644 --- a/lib/tasks/import.rake +++ b/lib/tasks/import.rake @@ -212,7 +212,7 @@ namespace :import do end end - Contact.import contact_columns, contacts, validate: false, timestamps: false + Contact.import contact_columns, contacts, {validate: false, timestamps: false} puts "-----> Imported #{count} new contacts in #{(Time.zone.now.to_f - start).round(2)} seconds" end @@ -267,6 +267,8 @@ namespace :import do creator_str updator_str legacy_domain_id + created_at + updated_at ) dnskey_columns = %w( @@ -279,6 +281,7 @@ namespace :import do creator_str updator_str legacy_domain_id + updated_at ) domains, nameservers, dnskeys, domain_contacts = [], [], [], [] @@ -353,7 +356,8 @@ namespace :import do end # nameservers - x.nsset.hosts.each do |host| + nsset = x.nsset + nsset.hosts.each do |host| ip_maps = host.host_ipaddr_maps ips = {} ip_maps.each do |ip_map| @@ -368,7 +372,9 @@ namespace :import do ips[:ipv6].try(:strip), 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 + x.id, + nsset.object_registry.try(:crdate), + nsset.object.read_attribute(:update).nil? ? x.object_registry.try(:crdate) : x.object.read_attribute(:update) ] end if x.nsset && x.nsset.hosts @@ -382,15 +388,16 @@ namespace :import do 1, # ds_digest_type /SHA1) 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 + x.id, + key.object.read_attribute(:update).nil? ? x.object_registry.try(:crdate) : x.object.read_attribute(:update) ] end if index % 10000 == 0 && index != 0 Domain.import domain_columns, domains, {validate: false, timestamps: false} - Nameserver.import nameserver_columns, nameservers, validate: false - Dnskey.import dnskey_columns, dnskeys, validate: false - DomainContact.import domain_contact_columns, domain_contacts, validate: false + Nameserver.import nameserver_columns, nameservers, {validate: false, timestamps: false} + Dnskey.import dnskey_columns, dnskeys, {validate: false, timestamps: false} + DomainContact.import domain_contact_columns, domain_contacts, validate: false # created_at is taken from contact at the bottom domains, nameservers, dnskeys, domain_contacts = [], [], [], [] end rescue => e @@ -400,9 +407,9 @@ namespace :import do end Domain.import domain_columns, domains, {validate: false, timestamps: false} - Nameserver.import nameserver_columns, nameservers, validate: false - Dnskey.import dnskey_columns, dnskeys, validate: false - DomainContact.import domain_contact_columns, domain_contacts, validate: false + Nameserver.import nameserver_columns, nameservers, {validate: false, timestamps: false} + Dnskey.import dnskey_columns, dnskeys, {validate: false, timestamps: false} + DomainContact.import domain_contact_columns, domain_contacts, {validate: false, timestamps: false} puts '-----> Updating relations...' @@ -429,7 +436,9 @@ namespace :import do # contacts ActiveRecord::Base.connection.execute( "UPDATE domain_contacts "\ - "SET contact_id = contacts.id "\ + "SET contact_id = contacts.id, "\ + "updated_at = contacts.updated_at, "\ + "created_at = contacts.created_at "\ "FROM contacts "\ "WHERE contacts.legacy_id = legacy_contact_id "\ "AND legacy_contact_id IS NOT NULL "\