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