Fix an obscure regression when inserting an object with a serialize-deflating column set
[dbsrgits/DBIx-Class-Historic.git] / t / lib / DBICTest / Schema / Track.pm
1 package # hide from PAUSE 
2     DBICTest::Schema::Track;
3
4 use base qw/DBICTest::BaseResult/;
5 __PACKAGE__->load_components(qw/InflateColumn::DateTime Ordered/);
6
7 __PACKAGE__->table('track');
8 __PACKAGE__->add_columns(
9   'trackid' => {
10     data_type => 'integer',
11     is_auto_increment => 1,
12   },
13   'cd' => {
14     data_type => 'integer',
15   },
16   'position' => {
17     data_type => 'integer',
18     accessor => 'pos',
19   },
20   'title' => {
21     data_type => 'varchar',
22     size      => 100,
23   },
24   last_updated_on => {
25     data_type => 'datetime',
26     accessor => 'updated_date',
27     is_nullable => 1
28   },
29   last_updated_at => {
30     data_type => 'datetime',
31     is_nullable => 1
32   },
33   small_dt => { # for mssql and sybase DT tests
34     data_type => 'smalldatetime',
35     is_nullable => 1
36   },
37   increment => {
38       data_type => 'integer',
39       is_nullable => 1,
40       accessor => '_increment',
41   }
42 );
43 __PACKAGE__->set_primary_key('trackid');
44
45 __PACKAGE__->add_unique_constraint([ qw/cd position/ ]);
46 __PACKAGE__->add_unique_constraint([ qw/cd title/ ]);
47
48 __PACKAGE__->position_column ('position');
49 __PACKAGE__->grouping_column ('cd');
50
51
52 __PACKAGE__->belongs_to( cd => 'DBICTest::Schema::CD' );
53 __PACKAGE__->belongs_to( disc => 'DBICTest::Schema::CD' => 'cd');
54
55 __PACKAGE__->might_have( cd_single => 'DBICTest::Schema::CD', 'single_track' );
56 __PACKAGE__->might_have( lyrics => 'DBICTest::Schema::Lyrics', 'track_id' );
57
58 sub increment {
59     my $self = shift;
60     if(@_) {
61         return $self->_increment($_[0] + 1);
62     }
63     return $self->_increment();
64 }
65
66 sub set_increment {
67     my $self = shift;
68     if(@_) {
69         return $self->_increment($_[0]);
70     }
71     return $self->_increment();
72 }
73
74 1;