man DBIx::Class::Loader::Writing () - Loader subclass writing guide

NAME

DBIx::Class::Loader::Writing - Loader subclass writing guide

SYNOPSIS

  package DBIx::Class::Loader::Foo;

  # THIS IS JUST A TEMPLATE TO GET YOU STARTED.

  use strict;
  use base 'DBIx::Class::Loader::Generic';
  use DBI;
  use Carp;

  sub _db_classes {
      return qw/DBIx::Class::PK::Auto::Foo/;
          # You may want to return more, or less, than this.
  }

  sub _tables {
      my $self = shift;
      my $dbh = DBI->connect( @{ $self->{_datasource} } )
           or croak($DBI::errstr);
      return $dbh->tables; # Your DBD may need something different
  }

  sub _table_info {
      my ( $self, $table ) = @_;
      ...
      return ( \@cols, \@primary );
  }

  sub _relationships {
      my $self = shift;
      ...
      $self->_belongs_to_many($table, $f_key, $f_table, $f_column);
          # For each relationship you want to set up ($f_column is
          # optional, default is $f_table's primary key)
      ...
  }