scm: db: model: add parent/child relation for changesets (#5501)
Contributed by Jan Topiński. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7710 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
e300188982
commit
ef1223dd3a
|
@ -22,6 +22,14 @@ class Changeset < ActiveRecord::Base
|
|||
belongs_to :user
|
||||
has_many :changes, :dependent => :delete_all
|
||||
has_and_belongs_to_many :issues
|
||||
has_and_belongs_to_many :parents,
|
||||
:class_name => "Changeset",
|
||||
:join_table => "#{table_name_prefix}changeset_parents#{table_name_suffix}",
|
||||
:association_foreign_key => 'parent_id', :foreign_key => 'changeset_id'
|
||||
has_and_belongs_to_many :children,
|
||||
:class_name => "Changeset",
|
||||
:join_table => "#{table_name_prefix}changeset_parents#{table_name_suffix}",
|
||||
:association_foreign_key => 'changeset_id', :foreign_key => 'parent_id'
|
||||
|
||||
acts_as_event :title => Proc.new {|o| "#{l(:label_revision)} #{o.format_identifier}" + (o.short_comments.blank? ? '' : (': ' + o.short_comments))},
|
||||
:description => :long_comments,
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
class CreateChangesetParents < ActiveRecord::Migration
|
||||
def self.up
|
||||
create_table :changeset_parents, :id => false do |t|
|
||||
t.column :changeset_id, :integer, :null => false
|
||||
t.column :parent_id, :integer, :null => false
|
||||
end
|
||||
add_index :changeset_parents, [:changeset_id], :unique => false, :name => :changeset_parents_changeset_ids
|
||||
add_index :changeset_parents, [:parent_id], :unique => false, :name => :changeset_parents_parent_ids
|
||||
end
|
||||
|
||||
def self.down
|
||||
drop_table :changeset_parents
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue