summaryrefslogtreecommitdiff
path: root/lib/CPAN/mapcpan.pm
blob: 440f62d871931507ec1c5a652c47642c20de73f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package CPAN::cpanmap::packages;
use base 'DBIx::Class';
use strict;
use warnings;

__PACKAGE__->load_components( qw/InflateColumn::DateTime Core/ );
__PACKAGE__->table( 'packages' );

__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' => {
        'data_type'         => 'text',
        'is_auto_increment' => 0,
        'default_value'     => undef,
        'is_foreign_key'    => 0,
        'name'              => 'dist',
        'is_nullable'       => 1,
        'size'              => 0
    },
    'version' => {
        'data_type'         => 'text',
        'is_auto_increment' => 0,
        'default_value'     => undef,
        'is_foreign_key'    => 0,
        'name'              => 'version',
        'is_nullable'       => 1,
        'size'              => 0
    },
    'tests_success' => {
        'data_type'         => 'integer',
        'is_auto_increment' => 0,
        'default_value'     => 0,
        'is_foreign_key'    => 0,
        'name'              => 'tests_success',
        'is_nullable'       => 1,
        'size'              => 0
    },
    'author' => {
        'data_type'         => 'text',
        'is_auto_increment' => 0,
        'default_value'     => undef,
        'is_foreign_key'    => 0,
        'name'              => 'author',
        'is_nullable'       => 1,
        'size'              => 0
    },
    'released' => {
        'data_type'         => 'datetime',
        'is_auto_increment' => 0,
        'default_value'     => undef,
        'is_foreign_key'    => 0,
        'name'              => 'released',
        'is_nullable'       => 1,
        'size'              => 0
    }
);
__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';
use strict;
use warnings;

__PACKAGE__->register_class( 'edges',    'CPAN::cpanmap::edges' );
__PACKAGE__->register_class( 'packages', 'CPAN::cpanmap::packages' );

1;