summaryrefslogtreecommitdiff
path: root/lib/CPAN/mapcpan.pm
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2009-04-19 21:11:02 +0200
committerfranck cuny <franck@lumberjaph.net>2009-04-19 21:11:02 +0200
commitd045d72317cb897f520ff8d2524195233450a040 (patch)
treeb89bc44a458a3136723a10714f78935d94d30272 /lib/CPAN/mapcpan.pm
parentchange date format (diff)
downloadcpan-graph-master.tar.gz
add has_many and belongsto; now generate a _real_ author's graphmaster
Diffstat (limited to '')
-rw-r--r--lib/CPAN/mapcpan.pm83
1 files changed, 43 insertions, 40 deletions
diff --git a/lib/CPAN/mapcpan.pm b/lib/CPAN/mapcpan.pm
index f93f8c8..440f62d 100644
--- a/lib/CPAN/mapcpan.pm
+++ b/lib/CPAN/mapcpan.pm
@@ -1,42 +1,3 @@
-package CPAN::cpanmap::edges;
-use base 'DBIx::Class';
-use strict;
-use warnings;
-
-__PACKAGE__->load_components( qw/ Core/ );
-__PACKAGE__->table( 'edges' );
-
-__PACKAGE__->add_columns(
- 'id' => {
- 'data_type' => 'integer',
- 'is_auto_increment' => 0,
- 'default_value' => undef,
- 'is_foreign_key' => 0,
- 'name' => 'id',
- 'is_nullable' => 0,
- 'size' => 0
- },
- 'dist_from' => {
- 'data_type' => 'integer',
- 'is_auto_increment' => 0,
- 'default_value' => undef,
- 'is_foreign_key' => 0,
- 'name' => 'dist_from',
- 'is_nullable' => 0,
- 'size' => 0
- },
- 'dist_to' => {
- 'data_type' => 'integer',
- 'is_auto_increment' => 0,
- 'default_value' => undef,
- 'is_foreign_key' => 0,
- 'name' => 'dist_to',
- 'is_nullable' => 0,
- 'size' => 0
- },
-);
-__PACKAGE__->set_primary_key('id');
-
package CPAN::cpanmap::packages;
use base 'DBIx::Class';
use strict;
@@ -101,7 +62,49 @@ __PACKAGE__->add_columns(
'size' => 0
}
);
-__PACKAGE__->set_primary_key('id');
+__PACKAGE__->set_primary_key( 'id' );
+__PACKAGE__->has_many( edges => 'CPAN::cpanmap::edges', 'dist_from' );
+
+package CPAN::cpanmap::edges;
+use base 'DBIx::Class';
+use strict;
+use warnings;
+
+__PACKAGE__->load_components( qw/ Core/ );
+__PACKAGE__->table( 'edges' );
+
+__PACKAGE__->add_columns(
+ 'id' => {
+ 'data_type' => 'integer',
+ 'is_auto_increment' => 0,
+ 'default_value' => undef,
+ 'is_foreign_key' => 0,
+ 'name' => 'id',
+ 'is_nullable' => 0,
+ 'size' => 0
+ },
+ 'dist_from' => {
+ 'data_type' => 'integer',
+ 'is_auto_increment' => 0,
+ 'default_value' => undef,
+ 'is_foreign_key' => 0,
+ 'name' => 'dist_from',
+ 'is_nullable' => 0,
+ 'size' => 0
+ },
+ 'dist_to' => {
+ 'data_type' => 'integer',
+ 'is_auto_increment' => 0,
+ 'default_value' => undef,
+ 'is_foreign_key' => 0,
+ 'name' => 'dist_to',
+ 'is_nullable' => 0,
+ 'size' => 0
+ },
+);
+__PACKAGE__->set_primary_key( 'id' );
+__PACKAGE__->belongs_to( dist_from => 'CPAN::cpanmap::packages' );
+__PACKAGE__->belongs_to( dist_to => 'CPAN::cpanmap::packages' );
package CPAN::cpanmap;
use base 'DBIx::Class::Schema';