User groups feature initial commit.

git-svn-id: http://redmine.rubyforge.org/svn/branches/work@1373 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2008-04-28 15:10:04 +00:00
parent 4783d3d7c5
commit ced3cab7bb
41 changed files with 812 additions and 65 deletions
+11
View File
@@ -0,0 +1,11 @@
class CreateGroups < ActiveRecord::Migration
def self.up
create_table :groups do |t|
t.column :name, :string, :null => false
end
end
def self.down
drop_table :groups
end
end
@@ -0,0 +1,9 @@
class AddUsersGroupId < ActiveRecord::Migration
def self.up
add_column :users, :group_id, :integer
end
def self.down
remove_column :users, :group_id
end
end
@@ -0,0 +1,20 @@
class ChangeMembersUsersAssociationToPolymorphic < ActiveRecord::Migration
def self.up
add_column :members, :principal_type, :string
add_column :members, :principal_id, :integer
add_column :members, :inherited_from, :integer
Member.update_all "principal_type = 'User', principal_id = user_id"
remove_column :members, :user_id
add_index :members, [:principal_type, :principal_id], :name => :members_principal
end
def self.down
# Remove inherited memberships
Member.delete_all "inherited_from IS NOT NULL"
add_column :members, :user_id, :integer, :default => 0, :null => false
Member.update_all "user_id = principal_id"
remove_column :members, :principal_type, :string
remove_column :members, :principal_id, :integer
remove_column :members, :inherited_from, :integer
end
end