Commit | Line | Data |
c6d74d3e |
1 | package # hide from PAUSE |
2 | DBICTest::Schema::Track; |
a02675cd |
3 | |
660cf1be |
4 | use base qw/DBICTest::BaseResult/; |
1ceafb0c |
5 | __PACKAGE__->load_components(qw/InflateColumn::DateTime Ordered/); |
a02675cd |
6 | |
ff657a43 |
7 | __PACKAGE__->table('track'); |
8 | __PACKAGE__->add_columns( |
0009fa49 |
9 | 'trackid' => { |
10 | data_type => 'integer', |
11 | is_auto_increment => 1, |
12 | }, |
13 | 'cd' => { |
14 | data_type => 'integer', |
15 | }, |
16 | 'position' => { |
c1d7087d |
17 | data_type => 'int', |
91b0fbd7 |
18 | accessor => 'pos', |
0009fa49 |
19 | }, |
20 | 'title' => { |
21 | data_type => 'varchar', |
cb561d1a |
22 | size => 100, |
0009fa49 |
23 | }, |
43556c5d |
24 | last_updated_on => { |
25 | data_type => 'datetime', |
26 | accessor => 'updated_date', |
27 | is_nullable => 1 |
28 | }, |
abc914bd |
29 | last_updated_at => { |
30 | data_type => 'datetime', |
31 | is_nullable => 1 |
32 | }, |
b7ad9162 |
33 | small_dt => { # for mssql and sybase DT tests |
34 | data_type => 'smalldatetime', |
35 | is_nullable => 1 |
36 | }, |
0009fa49 |
37 | ); |
ff657a43 |
38 | __PACKAGE__->set_primary_key('trackid'); |
39 | |
365d06b7 |
40 | __PACKAGE__->add_unique_constraint([ qw/cd position/ ]); |
41 | __PACKAGE__->add_unique_constraint([ qw/cd title/ ]); |
42 | |
1ceafb0c |
43 | __PACKAGE__->position_column ('position'); |
44 | __PACKAGE__->grouping_column ('cd'); |
45 | |
46 | |
97c96475 |
47 | __PACKAGE__->belongs_to( cd => 'DBICTest::Schema::CD', undef, { |
48 | proxy => { cd_title => 'title' }, |
49 | }); |
50 | __PACKAGE__->belongs_to( disc => 'DBICTest::Schema::CD' => 'cd', { |
51 | proxy => 'year' |
52 | }); |
a02675cd |
53 | |
a1cb5921 |
54 | __PACKAGE__->might_have( cd_single => 'DBICTest::Schema::CD', 'single_track' ); |
4f6386b0 |
55 | __PACKAGE__->might_have( lyrics => 'DBICTest::Schema::Lyrics', 'track_id' ); |
a1cb5921 |
56 | |
18129e81 |
57 | __PACKAGE__->belongs_to( |
58 | "year1999cd", |
59 | "DBICTest::Schema::Year1999CDs", |
60 | { "foreign.cdid" => "self.cd" }, |
f549392f |
61 | { join_type => 'left' }, # the relationship is of course optional |
18129e81 |
62 | ); |
63 | __PACKAGE__->belongs_to( |
64 | "year2000cd", |
65 | "DBICTest::Schema::Year2000CDs", |
66 | { "foreign.cdid" => "self.cd" }, |
f549392f |
67 | { join_type => 'left' }, |
18129e81 |
68 | ); |
69 | |
a02675cd |
70 | 1; |