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=be9139708178c9aa24f19c3f4967d6c9c6f1554c;hpb=084a2c0ae84b2ae56f05deeb67dd007246f7692e;p=dbsrgits%2FDBIx-Class.git diff --git a/t/lib/DBICTest/Schema/Year2000CDs.pm b/t/lib/DBICTest/Schema/Year2000CDs.pm index be91397..f0890a3 100644 --- a/t/lib/DBICTest/Schema/Year2000CDs.pm +++ b/t/lib/DBICTest/Schema/Year2000CDs.pm @@ -1,30 +1,22 @@ -package # hide from PAUSE +package # hide from PAUSE DBICTest::Schema::Year2000CDs; -use base 'DBIx::Class::Core'; -use DBIx::Class::ResultSource::View; +use warnings; +use strict; -__PACKAGE__->table_class('DBIx::Class::ResultSource::View'); +use base qw/DBICTest::Schema::CD/; +__PACKAGE__->table_class('DBIx::Class::ResultSource::View'); __PACKAGE__->table('year2000cds'); -__PACKAGE__->result_source_instance->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, - }, -); -__PACKAGE__->set_primary_key('cdid'); -__PACKAGE__->add_unique_constraint([ qw/artist title/ ]); +# 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;