@@ -14,6 +14,7 @@ class GForgeGroup < GForgeTable
14
14
has_many :artifact_group_lists , :class_name => "GForgeArtifactGroupList" , :foreign_key => 'group_id'
15
15
has_many :forum_groups , :class_name => "GForgeForumGroup" , :foreign_key => 'group_id'
16
16
has_many :document_groups , :class_name => "GForgeDocumentGroup" , :foreign_key => 'group_id'
17
+ has_many :packages , :class_name => "GForgePackage" , :foreign_key => 'group_id'
17
18
named_scope :active , :conditions => { :status => 'A' }
18
19
named_scope :non_system , :conditions => 'group_id > 4'
19
20
def redmine_status
@@ -307,6 +308,29 @@ class GForgeArtifactCategory < GForgeTable
307
308
has_many :artifacts , :class_name => "GForgeArtifact" , :foreign_key => "category_id"
308
309
end
309
310
311
+ class GForgePackage < GForgeTable
312
+ set_table_name 'frs_package'
313
+ set_primary_key 'package_id'
314
+ belongs_to :group , :class_name => "GForgeGroup" , :foreign_key => 'group_id'
315
+ has_many :releases , :class_name => "GForgeRelease" , :foreign_key => 'package_id'
316
+ end
317
+
318
+ class GForgeRelease < GForgeTable
319
+ set_table_name 'frs_release'
320
+ set_primary_key 'release_id'
321
+ belongs_to :package , :class_name => "GForgePackage" , :foreign_key => 'package_id'
322
+ belongs_to :released_by , :class_name => 'GForgeUser' , :foreign_key => 'released_by'
323
+ has_many :files , :class_name => 'GForgeFile' , :foreign_key => 'release_id'
324
+ end
325
+
326
+ class GForgeFile < GForgeTable
327
+ set_primary_key "file_id"
328
+ set_table_name "frs_file"
329
+ belongs_to :release , :class_name => "GForgeRelease" , :foreign_key => 'release_id'
330
+ #belongs_to :file_type, :foreign_key => 'type_id'
331
+ #belongs_to :processor
332
+ end
333
+
310
334
# I experimented with memoizing this method, but it actually slowed the migration down
311
335
def create_or_fetch_user ( gforge_user )
312
336
if user = User . find_by_mail ( gforge_user . email )
0 commit comments