Sha256: 077d40ff7e23ebbf16bda534d1ad029fd49a53e0ced75edd3e9e0840630cbd3d

Contents?: true

Size: 1.72 KB

Versions: 13

Compression:

Stored size: 1.72 KB

Contents

# frozen_string_literal: true

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

13 entries across 13 versions & 1 rubygems

Version Path
fat_free_crm-0.22.1 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.22.0 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.21.0 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.20.1 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.20.0 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.19.2 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.19.0 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.18.2 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.17.3 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.18.1 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.18.0 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.17.2 db/migrate/20100928030623_create_addresses.rb
fat_free_crm-0.17.1 db/migrate/20100928030623_create_addresses.rb