Sha256: 19144b092e45551a6b694890ef755c6d01415a2ed7abe2b6e7426a0d55f60529

Contents?: true

Size: 1.39 KB

Versions: 10

Compression:

Stored size: 1.39 KB

Contents

class SmsOnRailsUpdatePhoneNumbers < ActiveRecord::Migration
  def self.up

<%
      existing_columns = ActiveRecord::Base.connection.columns(:phone_numbers).collect { |each| each.name }
      columns = [
        [:number,      't.string  :number,       :length => 20, :null => false'],
        [:carrier_id,  't.integer :carrier_id,   :default => nil'],
        [:owner_id,    't.integer :owner_id,     :default => nil'],
        [:white_list,  't.boolean :white_list,   :null => false, :default => false'],
        [:do_not_send, 't.string  :do_not_send,  :length => 30, :default => nil'],
        [:country_code,'t.string  :country_code, :length => 2, :default => 1'],
      ].delete_if {|c| existing_columns.include?(c.first.to_s)}
-%>
    change_table(:phone_numbers) do |t|
<% columns.each do |c| -%>
      <%= c.last %>
<% end -%>
    end

<%
    existing_indexes = ActiveRecord::Base.connection.indexes(:phone_numbers)
    index_names = existing_indexes.collect { |each| each.name }
    new_indexes = [
      [:uk_phone_numbers_number, 'add_index :phone_numbers, :unique => true']
    ].delete_if { |each| index_names.include?(each.first.to_s) }
-%>
<% new_indexes.each do |each| -%>
    <%= each.last %>
<% end -%>
  end

  def self.down
    change_table(:phone_numbers) do |t|
<% unless columns.empty? -%>
      t.remove <%= columns.collect { |each| ":#{each.first}" }.join(',') %>
<% end -%>
    end
  end
end

Version data entries

10 entries across 10 versions & 3 rubygems

Version Path
blythedunham-sms_on_rails-0.1.0 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
sztywny-smsonrails-0.3.3 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
sztywny-smsonrails-0.3.1 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
sztywny-smsonrails-0.3.0 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
sztywny-smsonrails-0.2.3 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
sztywny-smsonrails-0.2.2 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
sztywny-smsonrails-0.2.1 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
sztywny-smsonrails-0.2.0 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
sztywny-smsonrails-0.1.2 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb
smsonrails-0.1.2 generators/sms_on_rails/templates/migrate/sms_on_rails_update_phone_numbers.rb