Sha256: 3af2c8c788bfb9959a1b0c22efa4d0248a92b3343cb9db345c9734e8868bd5fb

Contents?: true

Size: 649 Bytes

Versions: 8

Compression:

Stored size: 649 Bytes

Contents

class AddPublicAttributeToRoles < ActiveRecord::Migration
  def up
    add_column :roles, :public, :boolean, default: false
    
    roles = []
    
    Role.all.each do |role|
      roles << [role.id, ['Project_owner', 'User'].include?(role.name)]
    end
    
    roles.each do |role|
      Role.find(role.first).update_attribute(:public, role.second)
    end
    
    add_column :users, :main_role_id, :integer
    
    user_role_id = Role.find_or_create_by(name: 'User').id
    User.update_all main_role_id: user_role_id
  end
  
  def down
    remove_column :roles, :public, :boolean
    remove_column :users, :main_role_id, :integer
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
voluntary-0.5.0 db/migrate/20121006162913_add_public_attribute_to_roles.rb
voluntary-0.4.0 db/migrate/20121006162913_add_public_attribute_to_roles.rb
voluntary-0.3.0 db/migrate/20121006162913_add_public_attribute_to_roles.rb
voluntary-0.2.4 db/migrate/20121006162913_add_public_attribute_to_roles.rb
voluntary-0.2.3 db/migrate/20121006162913_add_public_attribute_to_roles.rb
voluntary-0.2.2 db/migrate/20121006162913_add_public_attribute_to_roles.rb
voluntary-0.2.1 db/migrate/20121006162913_add_public_attribute_to_roles.rb
voluntary-0.2.0 db/migrate/20121006162913_add_public_attribute_to_roles.rb