Sha256: 1555c6acd4f07835540e0529aedb62c090eb6a4265e0b82800c29c0773f9b999

Contents?: true

Size: 806 Bytes

Versions: 8

Compression:

Stored size: 806 Bytes

Contents

class CreateRoles < ActiveRecord::Migration
  def self.up
    create_table :roles do |t|
      t.column :name, :string
    end

    Role.enumeration_model_updates_permitted = true
    Role.create(:name => 'admin')    
    Role.create(:name => 'moderator')
    Role.create(:name => 'member')            
    Role.enumeration_model_updates_permitted = false
    
    add_column :users, :role_id, :integer

    #set all existing users to 'member'
    User.update_all("role_id = #{Role[:member].id}", ["admin = ?", false])
    #set admins to 'admin'
    User.update_all("role_id = #{Role[:admin].id}", ["admin = ?", true])    

    remove_column :users, :admin
  end

  def self.down
    drop_table :roles
    remove_column :users, :role_id
    add_column :users, :admin, :boolean, :default => false
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
community_engine-2.3.2 db/migrate/056_create_roles.rb
community_engine-2.3.1 db/migrate/056_create_roles.rb
community_engine-2.3.0 db/migrate/056_create_roles.rb
community_engine-2.1.0 db/migrate/056_create_roles.rb
community_engine-2.0.0 db/migrate/056_create_roles.rb
community_engine-2.0.0.beta3 db/migrate/056_create_roles.rb
community_engine-2.0.0.beta2 db/migrate/056_create_roles.rb
community_engine-2.0.0.beta1 db/migrate/056_create_roles.rb