Status import improvements #2267

This commit is contained in:
Martin Lensment 2015-06-16 12:42:29 +03:00
parent 0f765b1ff0
commit bed27ce940
2 changed files with 21 additions and 43 deletions

View file

@ -128,7 +128,6 @@ class Domain < ActiveRecord::Base
errors.add(:statuses, :taken)
end
attr_accessor :registrant_typeahead, :update_me, :deliver_emails,
:epp_pending_update, :epp_pending_delete
@ -207,8 +206,8 @@ class Domain < ActiveRecord::Base
STDOUT << "#{Time.zone.now.utc} - Destroying domains\n" unless Rails.env.test?
c = 0
DomainStatus.where(value: DomainStatus::DELETE_CANDIDATE).each do |x|
x.domain.destroy
Domain.where("statuses @> '{deleteCandidate}'::varchar[]").each do |x|
x.destroy
c += 1
end

View file

@ -224,6 +224,7 @@ namespace :import do
legacy_id
legacy_registrar_id
legacy_registrant_id
statuses
)
domain_contact_columns = %w(
@ -263,7 +264,7 @@ namespace :import do
legacy_domain_id
)
domains, nameservers, dnskeys, domain_statuses, domain_contacts = [], [], [], [], []
domains, nameservers, dnskeys, domain_contacts = [], [], [], []
existing_domain_ids = Domain.pluck(:legacy_id)
user = "rake-#{`whoami`.strip} #{ARGV.join ' '}"
count = 0
@ -281,6 +282,20 @@ namespace :import do
count += 1
begin
# domain statuses
domain_statuses = []
ok = true
x.object_states.each do |state|
next if state.name.blank?
domain_statuses << state.name
ok = false
end
# OK status is default
if ok
domain_statuses << DomainStatus::OK
end
domains << [
x.object_registry.name.try(:strip),
x.object_registry.try(:crdate),
@ -296,7 +311,8 @@ namespace :import do
user,
x.id,
x.object_registry.try(:crid),
x.registrant
x.registrant,
domain_statuses
]
# admin contacts
@ -321,31 +337,6 @@ namespace :import do
]
end
# domain statuses
ok = true
x.object_states.each do |state|
next if state.name.blank?
domain_statuses << [
state.desc,
state.name,
user,
user,
x.id
]
ok = false
end
# OK status is default
if ok
domain_statuses << [
nil,
DomainStatus::OK,
user,
user,
x.id
]
end
# nameservers
x.nsset.hosts.each do |host|
ip_maps = host.host_ipaddr_maps
@ -384,9 +375,8 @@ namespace :import do
Domain.import domain_columns, domains, validate: false
Nameserver.import nameserver_columns, nameservers, validate: false
Dnskey.import dnskey_columns, dnskeys, validate: false
DomainStatus.import domain_status_columns, domain_statuses, validate: false
DomainContact.import domain_contact_columns, domain_contacts, validate: false
domains, nameservers, dnskeys, domain_statuses, domain_contacts = [], [], [], [], []
domains, nameservers, dnskeys, domain_contacts = [], [], [], []
end
rescue => e
puts "ERROR on index #{index}"
@ -397,7 +387,6 @@ namespace :import do
Domain.import domain_columns, domains, validate: false
Nameserver.import nameserver_columns, nameservers, validate: false
Dnskey.import dnskey_columns, dnskeys, validate: false
DomainStatus.import domain_status_columns, domain_statuses, validate: false
DomainContact.import domain_contact_columns, domain_contacts, validate: false
puts '-----> Updating relations...'
@ -461,16 +450,6 @@ namespace :import do
"AND domain_id IS NULL"
)
# statuses
ActiveRecord::Base.connection.execute(
"UPDATE domain_statuses "\
"SET domain_id = domains.id "\
"FROM domains "\
"WHERE domains.legacy_id = legacy_domain_id "\
"AND legacy_domain_id IS NOT NULL "\
"AND domain_id IS NULL"
)
puts '-----> Generating dnskey digests...'
Dnskey.all.each do |x|