Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DBIx::Class::Schema::LUserrContributed:Perlss::Schema::Loader::DBI::Writing(3)

NAME
       DBIx::Class::Schema::Loader::DBI::Writing - Loader subclass writing
       guide for DBI

SYNOPSIS
	   package DBIx::Class::Schema::Loader::DBI::Foo;

	   # THIS IS JUST A TEMPLATE TO	GET YOU	STARTED.

	   use strict;
	   use warnings;
	   use base 'DBIx::Class::Schema::Loader::DBI';
	   use mro 'c3';

	   sub _table_uniq_info	{
	       my ($self, $table) = @_;

	       # ... get UNIQUE	info for $table	somehow
	       # and return a data structure that looks	like this:

	       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.
	   }

	   sub _table_comment {
	       my ( $self, $table ) = @_;
	       return 'Comment';
	   }

	   sub _column_comment {
	       my ( $self, $table, $column_number ) = @_;
	       return 'Col. comment';
	   }

	   1;

DETAILS
       The only	required method	for new	subclasses is "_table_uniq_info", 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: "_table_pk_info", "_table_fk_info",
       "_tables_list" and "_extra_column_info".	 See the included DBD drivers
       for examples of these.

       To import comments from the database you	need to	implement
       "_table_comment", "_column_comment"

AUTHORS
       See "AUTHORS" in	DBIx::Class::Schema::Loader.

LICENSE
       This library is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.1			  DBIx::Class::Schema::Loader::DBI::Writing(3)

NAME | SYNOPSIS | DETAILS | AUTHORS | LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DBIx::Class::Schema::Loader::DBI::Writing&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help