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
|
belongs_to :user
|
||||||
has_many :changes, :dependent => :delete_all
|
has_many :changes, :dependent => :delete_all
|
||||||
has_and_belongs_to_many :issues
|
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))},
|
acts_as_event :title => Proc.new {|o| "#{l(:label_revision)} #{o.format_identifier}" + (o.short_comments.blank? ? '' : (': ' + o.short_comments))},
|
||||||
:description => :long_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