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

View file

@ -224,6 +224,7 @@ namespace :import do
legacy_id legacy_id
legacy_registrar_id legacy_registrar_id
legacy_registrant_id legacy_registrant_id
statuses
) )
domain_contact_columns = %w( domain_contact_columns = %w(
@ -263,7 +264,7 @@ namespace :import do
legacy_domain_id legacy_domain_id
) )
domains, nameservers, dnskeys, domain_statuses, domain_contacts = [], [], [], [], [] domains, nameservers, dnskeys, domain_contacts = [], [], [], []
existing_domain_ids = Domain.pluck(:legacy_id) existing_domain_ids = Domain.pluck(:legacy_id)
user = "rake-#{`whoami`.strip} #{ARGV.join ' '}" user = "rake-#{`whoami`.strip} #{ARGV.join ' '}"
count = 0 count = 0
@ -281,6 +282,20 @@ namespace :import do
count += 1 count += 1
begin 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 << [ domains << [
x.object_registry.name.try(:strip), x.object_registry.name.try(:strip),
x.object_registry.try(:crdate), x.object_registry.try(:crdate),
@ -296,7 +311,8 @@ namespace :import do
user, user,
x.id, x.id,
x.object_registry.try(:crid), x.object_registry.try(:crid),
x.registrant x.registrant,
domain_statuses
] ]
# admin contacts # admin contacts
@ -321,31 +337,6 @@ namespace :import do
] ]
end 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 # nameservers
x.nsset.hosts.each do |host| x.nsset.hosts.each do |host|
ip_maps = host.host_ipaddr_maps ip_maps = host.host_ipaddr_maps
@ -384,9 +375,8 @@ namespace :import do
Domain.import domain_columns, domains, validate: false Domain.import domain_columns, domains, validate: 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
DomainStatus.import domain_status_columns, domain_statuses, validate: false
DomainContact.import domain_contact_columns, domain_contacts, validate: false DomainContact.import domain_contact_columns, domain_contacts, validate: false
domains, nameservers, dnskeys, domain_statuses, domain_contacts = [], [], [], [], [] domains, nameservers, dnskeys, domain_contacts = [], [], [], []
end end
rescue => e rescue => e
puts "ERROR on index #{index}" puts "ERROR on index #{index}"
@ -397,7 +387,6 @@ namespace :import do
Domain.import domain_columns, domains, validate: false Domain.import domain_columns, domains, validate: 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
DomainStatus.import domain_status_columns, domain_statuses, validate: false
DomainContact.import domain_contact_columns, domain_contacts, validate: false DomainContact.import domain_contact_columns, domain_contacts, validate: false
puts '-----> Updating relations...' puts '-----> Updating relations...'
@ -461,16 +450,6 @@ namespace :import do
"AND domain_id IS NULL" "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...' puts '-----> Generating dnskey digests...'
Dnskey.all.each do |x| Dnskey.all.each do |x|