Copying in DBIx::Class::Loader as a base to work from
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Loader / Writing.pm
1 package DBIx::Class::Loader::Writing;
2
3 # Empty. POD only.
4
5 1;
6
7 =head1 NAME                                                                     
8                                                                                 
9 DBIx::Class::Loader::Writing - Loader subclass writing guide
10
11 =head1 SYNOPSIS
12
13   package DBIx::Class::Loader::Foo;
14
15   # THIS IS JUST A TEMPLATE TO GET YOU STARTED.
16
17   use strict;
18   use base 'DBIx::Class::Loader::Generic';
19   use DBI;
20   use Carp;
21
22   sub _db_classes {
23       return qw/DBIx::Class::PK::Auto::Foo/;
24           # You may want to return more, or less, than this.
25   }
26
27   sub _tables {
28       my $self = shift;
29       my $dbh = DBI->connect( @{ $self->{_datasource} } )
30            or croak($DBI::errstr);
31       return $dbh->tables; # Your DBD may need something different
32   }
33
34   sub _table_info {
35       my ( $self, $table ) = @_;
36       ...
37       return ( \@cols, \@primary );
38   }
39
40   sub _relationships {
41       my $self = shift;
42       ...
43       $self->_belongs_to_many($table, $f_key, $f_table, $f_column);
44           # For each relationship you want to set up ($f_column is
45           # optional, default is $f_table's primary key)
46       ...
47   }
48
49 =cut