-package # hide from PAUSE
+package # hide from PAUSE
DBICTest::Schema::Year2000CDs;
-## Used in 104view.t
-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/;
+
+# FIXME not entirely sure *why* this particular bit trips up tests
+# and even more mysteriously: only a single oracle test...
+# Running out of time and no local Oracle so can't investigate :/
+use mro 'c3';
+__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', 'cd' );
1;