Sha256: ebba24afc116c8e757a7e34f7413efa3e6947a650cf49b145f177829d90a14d5

Contents?: true

Size: 1.69 KB

Versions: 8

Compression:

Stored size: 1.69 KB

Contents

class CreateAddresses < ActiveRecord::Migration[4.2]
  def self.up
    create_table :addresses do |t|
      t.string :street1
      t.string :street2
      t.string :city,    limit: 64
      t.string :state,   limit: 64
      t.string :zipcode, limit: 16
      t.string :country, limit: 64
      t.string :full_address
      t.string :address_type, limit: 16

      t.references :addressable, polymorphic: true

      t.timestamps
      t.datetime :deleted_at
    end

    add_index :addresses, %i[addressable_id addressable_type]

    # Migrate data from assets to Address table into full_address blob
    Contact.all.each do |asset|
      Address.create(street1: asset.address, full_address: asset.address, address_type: "Business", addressable: asset)
    end

    Account.all.each do |asset|
      Address.create(street1: asset.billing_address, full_address: asset.billing_address, address_type: "Billing", addressable: asset)
      Address.create(street1: asset.shipping_address, full_address: asset.shipping_address, address_type: "Shipping", addressable: asset)
    end

    Lead.all.each do |asset|
      Address.create(street1: asset.address, full_address: asset.address, address_type: "Business", addressable: asset)
    end

    # Remove addresses columns from assets allready migrated
    remove_column(:contacts, :address)
    remove_column(:accounts, :billing_address)
    remove_column(:accounts, :shipping_address)
    remove_column(:leads,    :address)
  end

  def self.down
    drop_table :addresses
    add_column(:contacts, :address, :string)
    add_column(:accounts, :billing_address, :string)
    add_column(:accounts, :shipping_address, :string)
    add_column(:leads,    :address, :string)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
fat_free_crm-0.15.2 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.16.4 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.15.1 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.16.3 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.16.2 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.16.1 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.16.0 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.15.0 db/migrate/20100928030623_create_addresses.rb