Merge branch 'task#104941754' into staging

# Conflicts:
#	lib/tasks/import.rake
This commit is contained in:
Vladimir Krylov 2015-10-30 12:42:51 +02:00
commit 821e864bc3
3 changed files with 25 additions and 11 deletions

View file

@ -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

View file

@ -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

View file

@ -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 "\