mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
Prepare history import
This commit is contained in:
parent
1e94909c41
commit
e11c1b5d20
4 changed files with 32 additions and 0 deletions
|
@ -12,5 +12,6 @@ module Legacy
|
|||
has_many :domain_contact_maps, foreign_key: :domainid
|
||||
has_many :nsset_contact_maps, foreign_key: :nssetid, primary_key: :nsset
|
||||
has_many :domain_histories, foreign_key: :id
|
||||
alias_method :history, :domain_histories
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,5 +3,7 @@ module Legacy
|
|||
self.table_name = :domain_history
|
||||
|
||||
belongs_to :domain, foreign_key: :id
|
||||
belongs_to :history, foreign_key: :historyid
|
||||
has_one :object_history, foreign_key: :historyid, primary_key: :historyid
|
||||
end
|
||||
end
|
||||
|
|
5
app/models/legacy/history.rb
Normal file
5
app/models/legacy/history.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
module Legacy
|
||||
class History < Db
|
||||
self.table_name = :history
|
||||
end
|
||||
end
|
|
@ -774,6 +774,30 @@ namespace :import do
|
|||
|
||||
puts "-----> Imported zones in #{(Time.zone.now.to_f - start).round(2)} seconds"
|
||||
end
|
||||
|
||||
desc 'Import history'
|
||||
task history: :environment do
|
||||
Domain.where.not(legacy_id: nil).find_each do |domain|
|
||||
next if domain.versions.where(action: :create).any?
|
||||
|
||||
history = Legacy::DomainHistory.where(id: domain.legacy_id).order("valid_from ASC").to_a
|
||||
history.each_with_index do |his, i|
|
||||
event = :update
|
||||
event = :create if i == 0
|
||||
event = :destroy if i + 1 == history.size && his.history.valid_to.present?
|
||||
|
||||
{
|
||||
item_type: domain.class,
|
||||
item_id: domain.id,
|
||||
event: event,
|
||||
whodunnit: Registrar.find_by(legacy_id: his.object_history.upid || his.object_history.clid),
|
||||
object: {},
|
||||
object_changes: {"id" => [nil, 1111] },
|
||||
created_at: his.object_history.try(:update),
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def parse_zone_ns_data(domain, zone)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue