Sha256: 39788d88429aed3c78700f77f9668a852ab813e0726c6be408bd7477acae775a
Contents?: true
Size: 1.37 KB
Versions: 2
Compression:
Stored size: 1.37 KB
Contents
class ClearanceUpdateUsers < ActiveRecord::Migration def self.up <% existing_columns = ActiveRecord::Base.connection.columns(:users).collect { |each| each.name } columns = [ [:sender_id, 't.integer :sender_id'], [:recipient_email, 't.string :recipient_email, :limit => 128'], [:token, 't.string :token, :limit => 128'], [:invited_at, 't.datetime :invited_at'], [:redeemed_at, 't.datetime :redeemed_at'] ].delete_if {|c| existing_columns.include?(c.first.to_s)} -%> change_table(:users) do |t| <% columns.each do |c| -%> <%= c.last %> <% end -%> end <% existing_indexes = ActiveRecord::Base.connection.indexes(:users) index_names = existing_indexes.collect { |each| each.name } new_indexes = [ [:index_invitations_on_id_and_token, 'add_index :invitations, [:id, :token]'], [:index_invitations_on_email, 'add_index :invitations, :recipient_email'], [:index_invitations_on_token, 'add_index :invitations, :token'] ].delete_if { |each| index_names.include?(each.first.to_s) } -%> <% new_indexes.each do |each| -%> <%= each.last %> <% end -%> end def self.down change_table(:invitations) do |t| <% unless columns.empty? -%> t.remove <%= columns.collect { |each| ":#{each.first}" }.join(',') %> <% end -%> end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tonkapark-clearance-0.6.9.2 | generators/clearance/templates/migrations/update_invitations.rb |
tonkapark-clearance-0.6.9.3 | generators/clearance/templates/migrations/update_invitations.rb |