The following shows a typical Rails migration for creating the users, roles and role_users table for the acts_as_authenticated plugin. Note that an initial admin user with a default password is added:
class CreateRolesAndUsers < force =""> true do |t|
     t.column :login,                     :string
     t.column :email,                     :string
     t.column :crypted_password,          :string, :limit => 40
     t.column :salt,                      :string, :limit => 40
     t.column :created_at,                :datetime
     t.column :updated_at,                :datetime
     t.column :remember_token,            :string
     t.column :remember_token_expires_at, :datetime
   end
   create_table :roles, :force => true do |t|
     t.column :name,               :string, :limit => 40
     t.column :authorizable_type,  :string, :limit => 30
     #t.column :authorizable_id,    :integer
     t.column :created_at,         :datetime
     t.column :updated_at,         :datetime
   end
   create_table :roles_users, :force => true  do |t|
     t.column :user_id,          :integer
     t.column :role_id,          :integer
     t.column :created_at,       :datetime
     t.column :updated_at,       :datetime
   end
  
   #add user "demo" as admin
   role = Role.new(:name => "admin", :authorizable_type => "admin")
   role.save
   user = User.new(:login => "demo", :email => "none@none.com", :password => "demo", :password_confirmation => "demo")
   user.save
   roleuser = RolesUser.new(:user_id => 1, :role_id => 1)
   roleuser.save
 end
 def self.down
   drop_table :roles_users
   drop_table :roles
   drop_table "users"
 end
end
Comments