Class::DBI::Loader man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

Class::DBI::Loader(3) User Contributed Perl DocumentationClass::DBI::Loader(3)

NAME
       Class::DBI::Loader - Dynamic definition of Class::DBI sub classes.

SYNOPSIS
	 use Class::DBI::Loader;

	 my $loader = Class::DBI::Loader->new(
	   dsn			   => "dbi:mysql:dbname",
	   user			   => "root",
	   password		   => "",
	   options		   => { RaiseError => 1, AutoCommit => 0 },
	   namespace		   => "Data",
	   additional_classes	   => qw/Class::DBI::AbstractSearch/, # or arrayref
	   additional_base_classes => qw/My::Stuff/, # or arrayref
	   left_base_classes	   => qw/Class::DBI::Sweet/, # or arrayref
	   constraint		   => '^foo.*',
	   relationships	   => 1,
	   options		   => { AutoCommit => 1 },
	   inflect		   => { child => 'children' },
	   require		   => 1
	 );
	 my $class = $loader->find_class('film'); # $class => Data::Film
	 my $obj = $class->retrieve(1);

       use with mod_perl

       in your startup.pl

	 # load all tables
	 use Class::DBI::Loader;
	 my $loader = Class::DBI::Loader->new(
	   dsn	     => "dbi:mysql:dbname",
	   user	     => "root",
	   password  => "",
	   namespace => "Data",
	 );

       in your web application.

	 use strict;

	 # you can use Data::Film directly
	 my $film = Data::Film->retrieve($id);

DESCRIPTION
       Class::DBI::Loader automate the definition of Class::DBI sub-classes.
       scan table schemas and setup columns, primary key.

       class names are defined by table names and namespace option.

	+-----------+-----------+-----------+
	|   table   | namespace | class	    |
	+-----------+-----------+-----------+
	|   foo	    | Data	| Data::Foo |
	|   foo_bar |		| FooBar    |
	+-----------+-----------+-----------+

       Class::DBI::Loader supports MySQL, Postgres and SQLite.

       See Class::DBI::Loader::Generic.

METHODS
   new %args
       additional_base_classes
	   List of additional base classes your table classes will use.

       left_base_classes
	   List of additional base classes, that need to be leftmost, for
	   example Class::DBI::Sweet (former Catalyst::Model::CDBI::Sweet).

       additional_classes
	   List of additional classes which your table classes will use.

       constraint
	   Only load tables matching regex.

       exclude
	   Exclude tables matching regex.

       debug
	   Enable debug messages.

       dsn DBI Data Source Name.

       namespace
	   Namespace under which your table classes will be initialized.

       password
	   Password.

       options
	   Optional hashref to specify DBI connect options

       relationships
	   Try to automatically detect/setup has_a and has_many relationships.

       inflect
	   An hashref, which contains exceptions to Lingua::EN::Inflect::PL().
	   Useful for foreign language column names.

       user
	   Username.

       require
	   Attempt to require the dynamically defined module, so that
	   extensions defined in files. By default errors from imported
	   modules are suppressed.  When you want to debug, use require_warn.

       require_warn
	   Warn of import errors when requiring modules.

AUTHOR
       Daisuke Maki "dmaki@cpan.org"

AUTHOR EMERITUS
       Sebastian Riedel, "sri@oook.de" IKEBE Tomohiro, "ikebe@edge.co.jp"

THANK YOU
       Adam Anderson, Andy Grundman, Autrijus Tang, Dan Kubb, David Naughton,
       Randal Schwartz, Simon Flack and all the others who've helped.

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

SEE ALSO
       Class::DBI, Class::DBI::mysql, Class::DBI::Pg, Class::DBI::SQLite,
       Class::DBI::Loader::Generic, Class::DBI::Loader::mysql,
       Class::DBI::Loader::Pg, Class::DBI::Loader::SQLite

perl v5.14.1			  2007-03-22		 Class::DBI::Loader(3)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net