diff options
author | franck cuny <franck@lumberjaph.net> | 2009-04-19 21:11:02 +0200 |
---|---|---|
committer | franck cuny <franck@lumberjaph.net> | 2009-04-19 21:11:02 +0200 |
commit | d045d72317cb897f520ff8d2524195233450a040 (patch) | |
tree | b89bc44a458a3136723a10714f78935d94d30272 /lib/CPAN/mapcpan.pm | |
parent | change date format (diff) | |
download | cpan-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.pm | 83 |
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'; |