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