X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-DBIx-Class-ResultSet-RecursiveUpdate;a=blobdiff_plain;f=t%2Flib%2FDBICTest%2FSchema%2FTreeLike.pm;fp=t%2Flib%2FDBICTest%2FSchema%2FTreeLike.pm;h=365571d8ab0675916d67a568f1be11b8acf55b42;hp=0000000000000000000000000000000000000000;hb=584713f437ffa9390821a0580ed368aa22fb552e;hpb=d93b1239cb7de482ac79a091d7daa67115596306 diff --git a/t/lib/DBICTest/Schema/TreeLike.pm b/t/lib/DBICTest/Schema/TreeLike.pm new file mode 100644 index 0000000..365571d --- /dev/null +++ b/t/lib/DBICTest/Schema/TreeLike.pm @@ -0,0 +1,28 @@ +package # hide from PAUSE + DBICTest::Schema::TreeLike; + +use base qw/DBIx::Class::Core/; + +__PACKAGE__->table('treelike'); +__PACKAGE__->add_columns( + 'id' => { data_type => 'integer', is_auto_increment => 1 }, + 'parent' => { data_type => 'integer' , is_nullable=>1}, + 'name' => { data_type => 'varchar', + size => 100, + }, +); +__PACKAGE__->set_primary_key(qw/id/); +__PACKAGE__->belongs_to('parent', 'TreeLike', + { 'foreign.id' => 'self.parent' }); +__PACKAGE__->has_many('children', 'TreeLike', { 'foreign.parent' => 'self.id' }); + +## since this is a self referential table we need to do a post deploy hook and get +## some data in while constraints are off + + sub sqlt_deploy_hook { + my ($self, $sqlt_table) = @_; + + ## We don't seem to need this anymore, but keeping it for the moment + ## $sqlt_table->add_index(name => 'idx_name', fields => ['name']); + } +1;