Story#104941754 DomainContacts and DnsKey after import take updated_at and created_at.

This commit is contained in:
Vladimir Krylov 2015-10-30 11:48:28 +02:00
parent 1fe19d7b55
commit da7ce59f2e
2 changed files with 16 additions and 7 deletions

View file

@ -1,5 +1,8 @@
module Legacy module Legacy
class Dnskey < Db class Dnskey < Db
self.table_name = :dnskey self.table_name = :dnskey
belongs_to :object_registry, foreign_key: :id
belongs_to :object, foreign_key: :id
end end
end end

View file

@ -213,7 +213,7 @@ namespace :import do
end end
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" puts "-----> Imported #{count} new contacts in #{(Time.zone.now.to_f - start).round(2)} seconds"
end end
@ -279,6 +279,8 @@ namespace :import do
creator_str creator_str
updator_str updator_str
legacy_domain_id legacy_domain_id
created_at
updated_at
) )
domains, nameservers, dnskeys, domain_contacts = [], [], [], [] domains, nameservers, dnskeys, domain_contacts = [], [], [], []
@ -383,15 +385,17 @@ namespace :import do
1, # ds_digest_type /SHA1) 1, # ds_digest_type /SHA1)
user, user,
x.object.try(:registrar).try(:name) ? x.object.try(:registrar).try(:name) : 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_registry.try(:crdate),
key.object.read_attribute(:update).nil? ? x.object_registry.try(:crdate) : x.object.read_attribute(:update)
] ]
end end
if index % 10000 == 0 && index != 0 if index % 10000 == 0 && index != 0
Domain.import domain_columns, domains, {validate: false, timestamps: false} Domain.import domain_columns, domains, {validate: false, timestamps: false}
Nameserver.import nameserver_columns, nameservers, validate: false Nameserver.import nameserver_columns, nameservers, validate: false
Dnskey.import dnskey_columns, dnskeys, validate: false Dnskey.import dnskey_columns, dnskeys, {validate: false, timestamps: false}
DomainContact.import domain_contact_columns, domain_contacts, validate: false DomainContact.import domain_contact_columns, domain_contacts, validate: false # created_at is taken from contact at the bottom
domains, nameservers, dnskeys, domain_contacts = [], [], [], [] domains, nameservers, dnskeys, domain_contacts = [], [], [], []
end end
rescue => e rescue => e
@ -402,8 +406,8 @@ namespace :import do
Domain.import domain_columns, domains, {validate: false, timestamps: false} Domain.import domain_columns, domains, {validate: false, timestamps: false}
Nameserver.import nameserver_columns, nameservers, validate: false Nameserver.import nameserver_columns, nameservers, validate: false
Dnskey.import dnskey_columns, dnskeys, validate: false Dnskey.import dnskey_columns, dnskeys, {validate: false, timestamps: false}
DomainContact.import domain_contact_columns, domain_contacts, validate: false DomainContact.import domain_contact_columns, domain_contacts, {validate: false, timestamps: false}
puts '-----> Updating relations...' puts '-----> Updating relations...'
@ -430,7 +434,9 @@ namespace :import do
# contacts # contacts
ActiveRecord::Base.connection.execute( ActiveRecord::Base.connection.execute(
"UPDATE domain_contacts "\ "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 "\ "FROM contacts "\
"WHERE contacts.legacy_id = legacy_contact_id "\ "WHERE contacts.legacy_id = legacy_contact_id "\
"AND legacy_contact_id IS NOT NULL "\ "AND legacy_contact_id IS NOT NULL "\