Merge pull request #111 from internetee/story/114871365-address-cc-upcase

Story/114871365 address cc upcase
This commit is contained in:
Timo Võhmar 2016-03-30 16:54:02 +03:00
commit 6ee076c9a4
2 changed files with 49 additions and 9 deletions

View file

@ -32,5 +32,44 @@ namespace :convert do
d.save!
end
end
desc 'Contact Address Country Code Upcase'
task country_code_upcase: :environment do
count = 0
Contact.find_each do |c|
if c.country_code.present? && c.country_code != c.country_code.upcase
c.country_code = c.country_code.upcase
c.update_columns(country_code: c.country_code.upcase)
count +=1
puts "#{count} contacts has been changed" if count % 1000 == 0
end
end
puts "Contacts change has been finished. Starting ContactVersions"
count = 0
ContactVersion.find_each do |c|
if (if_object = (c.object && c.object["country_code"].present? && c.object["country_code"] != c.object["country_code"].upcase)) ||
(if_changes = (c.object_changes && c.object_changes["country_code"].present? && c.object_changes["country_code"] != c.object_changes["country_code"].map{|e|e.try(:upcase)}))
if if_object
h = c.object
h["country_code"] = h["country_code"].try(:upcase)
c.object = h
end
if if_changes
h = c.object_changes
h["country_code"] = h["country_code"].map{|e|e.try(:upcase)}
c.object_changes = h
end
c.update_columns(object: c.object, object_changes: c.object_changes)
count +=1
puts "#{count} contact histories has been changed" if count % 1000 == 0
end
end
end
end