mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2024-12-11 22:24:21 +01:00
40 lines
1.1 KiB
Ruby
40 lines
1.1 KiB
Ruby
# frozen_string_literal:true
|
|
|
|
class MigrateProfileToInvoicingProfile < ActiveRecord::Migration[4.2]
|
|
def up
|
|
User.all.each do |u|
|
|
p = u.profile
|
|
Rails.logger.warn "User #{u.id} has no profile" and next unless p
|
|
|
|
ip = InvoicingProfile.create!(
|
|
user: u,
|
|
first_name: p.first_name,
|
|
last_name: p.last_name,
|
|
email: u.email
|
|
)
|
|
Address.find_by(placeable_id: p.id, placeable_type: 'Profile')&.update_attributes(
|
|
placeable: ip
|
|
)
|
|
Organization.find_by(profile_id: p.id)&.update_attributes(
|
|
invoicing_profile_id: ip.id
|
|
)
|
|
end
|
|
end
|
|
|
|
def down
|
|
InvoicingProfile.all.each do |ip|
|
|
profile = ip.user.profile
|
|
profile.update_attributes(
|
|
first_name: ip.first_name,
|
|
last_name: ip.last_name
|
|
)
|
|
Address.find_by(placeable_id: ip.id, placeable_type: 'InvoicingProfile')&.update_attributes(
|
|
placeable: profile
|
|
)
|
|
Organization.find_by(invoicing_profile_id: ip.id)&.update_attributes(
|
|
profile_id: profile.id
|
|
)
|
|
end
|
|
end
|
|
end
|