X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FDBICTest%2FSchema%2FCD.pm;h=6f91932a6f47ecb053f2d7d68914f743bf14eab3;hb=370f2ba2727791641c350a20e4fd09469503dbae;hp=512d8a1d0c7fc4e7928ca5a70970ad68a12abc70;hpb=22b15c96c84ddc1aeddddac637ca4c59a6465dcf;p=dbsrgits%2FDBIx-Class.git diff --git a/t/lib/DBICTest/Schema/CD.pm b/t/lib/DBICTest/Schema/CD.pm index 512d8a1..6f91932 100644 --- a/t/lib/DBICTest/Schema/CD.pm +++ b/t/lib/DBICTest/Schema/CD.pm @@ -1,9 +1,62 @@ -package DBICTest::Schema::CD; +package # hide from PAUSE + DBICTest::Schema::CD; use base 'DBIx::Class::Core'; -DBICTest::Schema::CD->table('cd'); -DBICTest::Schema::CD->add_columns(qw/cdid artist title year/); -DBICTest::Schema::CD->set_primary_key('cdid'); +__PACKAGE__->table('cd'); +__PACKAGE__->add_columns( + 'cdid' => { + data_type => 'integer', + is_auto_increment => 1, + }, + 'artist' => { + data_type => 'integer', + }, + 'title' => { + data_type => 'varchar', + size => 100, + }, + 'year' => { + data_type => 'varchar', + size => 100, + }, + 'genreid' => { + data_type => 'integer' + } +); +__PACKAGE__->set_primary_key('cdid'); +__PACKAGE__->add_unique_constraint([ qw/artist title/ ]); + +__PACKAGE__->belongs_to( artist => 'DBICTest::Schema::Artist', undef, { + is_deferrable => 1, + on_delete => undef, + on_update => 'SET NULL', +}); + +__PACKAGE__->has_many( tracks => 'DBICTest::Schema::Track' ); +__PACKAGE__->has_many( + tags => 'DBICTest::Schema::Tag', undef, + { order_by => 'tag' }, +); +__PACKAGE__->has_many( + cd_to_producer => 'DBICTest::Schema::CD_to_Producer' => 'cd' +); + +__PACKAGE__->might_have( + liner_notes => 'DBICTest::Schema::LinerNotes', undef, + { proxy => [ qw/notes/ ] }, +); +__PACKAGE__->many_to_many( producers => cd_to_producer => 'producer' ); +__PACKAGE__->many_to_many( + producers_sorted => cd_to_producer => 'producer', + { order_by => 'producer.name' }, +); + +__PACKAGE__->belongs_to('genre', 'DBICTest::Schema::Genre', { 'foreign.genreid' => 'self.genreid' }); + +#__PACKAGE__->add_relationship('genre', 'DBICTest::Schema::Genre', +# { 'foreign.genreid' => 'self.genreid' }, +# { 'accessor' => 'single' } +#); 1;