File: TreeLike.pm

package info (click to toggle)
libdbix-class-perl 0.082844-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,320 kB
  • sloc: perl: 27,215; sql: 322; sh: 29; makefile: 16
file content (31 lines) | stat: -rw-r--r-- 928 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package # hide from PAUSE
    DBICTest::Schema::TreeLike;

use warnings;
use strict;

use base qw/DBICTest::BaseResult/;

__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;