__PACKAGE__->parent_column('parent_id');
Declares the name of the column that contains the self-referential
-ID which defines the parent row. This will create a has_many (children)
+ID which defines the parent row. This will create a has_many (children)
and belongs_to (parent) relationship.
This method also sets up an additional has_many relationship called
1;
__END__
+=head1 CAVEATS
+
+=head2 Generated schemas
+
+If you are using L<DBIx::Class::Schema/deploy> methods either directly
+or via L<DBIx::Class::DeploymentHandler> or L<DBIx::Migration>, you
+will need the following L<SQL::Translator> hook to remove the index
+from C<parent_column>.
+
+ sub sqlt_deploy_hook {
+ my ($self, $sqlt_table) = @_;
+
+ foreach my $index ($sqlt_table->get_indices) {
+ if ($index->fields->[0] eq $self->parent_column) {
+ $sqlt_table->drop_index($index->name);
+ last;
+ }
+ }
+ }
+
+ALso see L<DBIx::Class::Manual::Cookbook/Adding Indexes And Functions To
+Your SQL> for other examples.
+
=head1 INHERITED METHODS
=head2 DBIx::Class