X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FDBI%2FWriting.pm;h=e0d347d8a8e1515c8235ea96a01877c6751c9543;hb=900628605efdbced5dcfdbbab0022b204aa93e14;hp=3ac5618920381e8bdb8bf1addae9e65f5ca2d4b5;hpb=996be9ee6e82ec9928f801ecdc69c9e07d64339c;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm b/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm index 3ac5618..e0d347d 100644 --- a/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm +++ b/lib/DBIx/Class/Schema/Loader/DBI/Writing.pm @@ -1,55 +1,79 @@ package DBIx::Class::Schema::Loader::DBI::Writing; use strict; +use warnings; + +our $VERSION = '0.07044'; # Empty. POD only. -1; +=head1 NAME -=head1 NAME - DBIx::Class::Schema::Loader::DBI::Writing - Loader subclass writing guide for DBI =head1 SYNOPSIS - package DBIx::Class::Schema::Loader::DBI::Foo; + package DBIx::Class::Schema::Loader::DBI::Foo; + + # THIS IS JUST A TEMPLATE TO GET YOU STARTED. - # THIS IS JUST A TEMPLATE TO GET YOU STARTED. + use strict; + use warnings; + use base 'DBIx::Class::Schema::Loader::DBI'; + use mro 'c3'; - use strict; - use warnings; - use base 'DBIx::Class::Schema::Loader::DBI'; - use Class::C3; + sub _table_uniq_info { + my ($self, $table) = @_; - sub _table_uniq_info { - my ($self, $table) = @_; + # ... get UNIQUE info for $table somehow + # and return a data structure that looks like this: - # ... get UNIQUE info for $table somehow - # and return a data structure that looks like this: + return [ + [ 'keyname' => [ 'colname' ] ], + [ 'keyname2' => [ 'col1name', 'col2name' ] ], + [ 'keyname3' => [ 'colname' ] ], + ]; - return [ - [ 'keyname' => [ 'colname' ] ], - [ 'keyname2' => [ 'col1name', 'col2name' ] ], - [ 'keyname3' => [ 'colname' ] ], - ]; + # Where the "keyname"'s are just unique identifiers, such as the + # name of the unique constraint, or the names of the columns involved + # concatenated if you wish. + } - # Where the "keyname"'s are just unique identifiers, such as the - # name of the unique constraint, or the names of the columns involved - # concatenated if you wish. - } + sub _table_comment { + my ( $self, $table ) = @_; + return 'Comment'; + } - 1; + sub _column_comment { + my ( $self, $table, $column_number ) = @_; + return 'Col. comment'; + } + + 1; =head1 DETAILS The only required method for new subclasses is C<_table_uniq_info>, -as I have not to date found any pseudo-standardized or DBD-agnostic -way for obtaining this information. +as there is not (yet) any standardized, DBD-agnostic way for obtaining +this information from DBI. The base DBI Loader contains generic methods that *should* work for everything else in theory, although in practice some DBDs need to override one or more of the other methods. The other methods one might -likely want to override are: C<_table_pk_info>, C<_table_fk_info>, and -C<_tables_list>. See the included DBD drivers for examples of these. +likely want to override are: C<_table_pk_info>, C<_table_fk_info>, +C<_tables_list> and C<_extra_column_info>. See the included DBD drivers +for examples of these. + +To import comments from the database you need to implement C<_table_comment>, +C<_column_comment> + +=head1 AUTHORS + +See L. + +=head1 LICENSE + +This library is free software; you can redistribute it and/or modify it under +the same terms as Perl itself. =cut