Codebase list libclass-dbi-loader-perl / HEAD
HEAD

Tree @HEAD (Download .tar.gz)

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                => "",
        namespace               => "Data",
        additional_classes      => qw/Class::DBI::AbstractSearch/,
        additional_base_classes => qw/My::Stuff/,
        constraint              => '^foo.*',
        relationships           => 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.

AUTHOR
    Sebastian Riedel, "sri@oook.de"

AUTHOR EMERITUS
    IKEBE Tomohiro, "ikebe@edge.co.jp"

THANK YOU
    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