summary refs log tree commit diff
path: root/lib/CPAN
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
parentchange date format (diff)
downloadcpan-graph-master.tar.gz
add has_many and belongsto; now generate a _real_ author's graph master
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';