3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/generators/magic_addresses/templates/update_address_migration.rb', line 3
def change
create_table :mgca_addressibles do |t|
t.boolean :default
t.string :name
t.references :owner, polymorphic: true
t.references :address
t.timestamps null: false
end
add_index :mgca_addressibles, [:owner_type, :owner_id]
add_index :mgca_addressibles, :address_id
add_column :mgca_addresses, :status, :string, default: "new"
MagicAddresses::Address.all.each do |that|
if that.owner_type.present? && that.owner_id.present? && "#{that.owner_type}".constantize.find(that.owner_id.to_i)
MagicAddresses::Addressible.create!( address_id: that.id, owner_type: that.owner_type, owner_id: that.owner_id, default: that.default )
end
sames = MagicAddresses::Address.where(latitude: that.latitude, longitude: that.longitude, zipcode: that.postalcode, street_number: that.street_number )
sames.each do |this|
unless this == that
MagicAddresses::Addressible.create!( address_id: that.id, owner_type: this.owner_type, owner_id: this.owner_id, default: this.default )
this.destroy
end
end if sames.count > 1
end
remove_index :mgca_addresses, [:owner_type, :owner_id]
remove_column :mgca_addresses, :owner_type, :string
remove_column :mgca_addresses, :owner_id, :integer
remove_column :mgca_addresses, :default, :boolean
end
|