X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FDBICTest%2FSchema%2FYear2000CDs.pm;h=f0890a32f0e5715c46dae71b3c27eca4fd85da39;hb=4a233f3019d2baa4bf2abee0c873c74d5cdf3a11;hp=863263bd30414c46bd1eb854829a9ff8646d2ef9;hpb=a648ec7837aa9e44c2f187699b80e4007c58abbd;p=dbsrgits%2FDBIx-Class.git diff --git a/t/lib/DBICTest/Schema/Year2000CDs.pm b/t/lib/DBICTest/Schema/Year2000CDs.pm index 863263b..f0890a3 100644 --- a/t/lib/DBICTest/Schema/Year2000CDs.pm +++ b/t/lib/DBICTest/Schema/Year2000CDs.pm @@ -1,25 +1,22 @@ -package # hide from PAUSE +package # hide from PAUSE DBICTest::Schema::Year2000CDs; -use base 'DBIx::Class::Core::View'; +use warnings; +use strict; -__PACKAGE__->view('cd'); -__PACKAGE__->view_definition("SELECT cdid, artist, title FROM cd WHERE year ='2000'"); -__PACKAGE__->add_columns( - 'cdid' => { - data_type => 'integer', - is_auto_increment => 1, - }, - 'artist' => { - data_type => 'integer', - }, - 'title' => { - data_type => 'varchar', - size => 100, - }, +use base qw/DBICTest::Schema::CD/; -); -__PACKAGE__->set_primary_key('cdid'); -__PACKAGE__->add_unique_constraint([ qw/artist title/ ]); +__PACKAGE__->table_class('DBIx::Class::ResultSource::View'); +__PACKAGE__->table('year2000cds'); + +# need to operate on the instance for things to work +__PACKAGE__->result_source_instance->view_definition( sprintf ( + 'SELECT %s FROM cd WHERE year = "2000"', + join (', ', __PACKAGE__->columns), +)); + +__PACKAGE__->belongs_to( artist => 'DBICTest::Schema::Artist' ); +__PACKAGE__->has_many( tracks => 'DBICTest::Schema::Track', + { "foreign.cd" => "self.cdid" }); 1;