+++ /dev/null
----
-name: DBIx-Class-Schema-Loader
-version: 0.02007
-author:
- - 'Brandon Black, C<blblack@gmail.com>'
-abstract: Dynamic definition of a DBIx::Class::Schema
-license: perl
-requires:
- Class::Accessor::Fast: 0.22
- Class::C3: 0.09
- Class::Data::Accessor: 0.02
- DBIx::Class: 0.05006
- Lingua::EN::Inflect: 0
- Text::Balanced: 0
- UNIVERSAL::require: 0.1
-build_requires:
- DBD::SQLite: 1.11
- DBI: 1.4
- Test::More: 0.32
-provides:
- DBIx::Class::Schema::Loader:
- file: lib/DBIx/Class/Schema/Loader.pm
- version: 0.02007
- DBIx::Class::Schema::Loader::DB2:
- file: lib/DBIx/Class/Schema/Loader/DB2.pm
- DBIx::Class::Schema::Loader::Generic:
- file: lib/DBIx/Class/Schema/Loader/Generic.pm
- DBIx::Class::Schema::Loader::Pg:
- file: lib/DBIx/Class/Schema/Loader/Pg.pm
- DBIx::Class::Schema::Loader::SQLite:
- file: lib/DBIx/Class/Schema/Loader/SQLite.pm
- DBIx::Class::Schema::Loader::Writing:
- file: lib/DBIx/Class/Schema/Loader/Writing.pm
- DBIx::Class::Schema::Loader::mysql:
- file: lib/DBIx/Class/Schema/Loader/mysql.pm
-generated_by: Module::Build version 0.2611
+++ /dev/null
-NAME
- DBIx::Class::Schema::Loader - Dynamic definition of a
- DBIx::Class::Schema
-
-SYNOPSIS
- package My::Schema;
- use base qw/DBIx::Class::Schema::Loader/;
-
- sub _monikerize {
- my $name = shift;
- $name = join '', map ucfirst, split /[\W_]+/, lc $name;
- $name;
- }
-
- __PACKAGE__->load_from_connection(
- connect_info => [ "dbi:mysql:dbname",
- "root",
- "mypassword",
- { AutoCommit => 1 },
- ],
- additional_classes => [qw/DBIx::Class::Foo/],
- additional_base_classes => [qw/My::Stuff/],
- left_base_classes => [qw/DBIx::Class::Bar/],
- components => [qw/ResultSetManager/],
- resultset_components => [qw/AlwaysRS/],
- constraint => '^foo.*',
- relationships => 1,
- options => { AutoCommit => 1 },
- inflect_map => { child => 'children' },
- moniker_map => \&_monikerize,
- debug => 1,
- );
-
- # in seperate application code ...
-
- use My::Schema;
-
- my $schema1 = My::Schema->connect( $dsn, $user, $password, $attrs);
- # -or-
- my $schema1 = "My::Schema";
- # ^^ defaults to dsn/user/pass from load_from_connection()
-
- # Get a list of the original (database) names of the tables that
- # were loaded
- my @tables = $schema1->loader->tables;
-
- # Get a hashref of table_name => 'TableName' table-to-moniker
- # mappings.
- my $monikers = $schema1->loader->monikers;
-
- # Get a hashref of table_name => 'My::Schema::TableName'
- # table-to-classname mappings.
- my $classes = $schema1->loader->classes;
-
- # Use the schema as per normal for DBIx::Class::Schema
- my $rs = $schema1->resultset($monikers->{foo_table})->search(...);
-
-DESCRIPTION
- DBIx::Class::Schema::Loader automates the definition of a
- DBIx::Class::Schema by scanning table schemas and setting up columns and
- primary keys.
-
- DBIx::Class::Schema::Loader supports MySQL, Postgres, SQLite and DB2.
- See DBIx::Class::Schema::Loader::Generic for more, and
- DBIx::Class::Schema::Loader::Writing for notes on writing your own
- db-specific subclass for an unsupported db.
-
- This module requires DBIx::Class 0.05 or later, and obsoletes
- DBIx::Class::Loader for DBIx::Class version 0.05 and later.
-
- While on the whole, the bare table definitions are fairly
- straightforward, relationship creation is somewhat heuristic, especially
- in the choosing of relationship types, join types, and relationship
- names. The relationships generated by this module will probably never be
- as well-defined as hand-generated ones. Because of this, over time a
- complex project will probably wish to migrate off of
- DBIx::Class::Schema::Loader.
-
- It is designed more to get you up and running quickly against an
- existing database, or to be effective for simple situations, rather than
- to be what you use in the long term for a complex database/project.
-
- That being said, transitioning your code from a Schema generated by this
- module to one that doesn't use this module should be straightforward and
- painless, so don't shy away from it just for fears of the transition
- down the road.
-
-METHODS
- load_from_connection
- Example in Synopsis above demonstrates the available arguments. For
- detailed information on the arguments, see the
- DBIx::Class::Schema::Loader::Generic documentation.
-
- loader
- This is an accessor in the generated Schema class for accessing the
- DBIx::Class::Schema::Loader::Generic -based loader object that was used
- during construction. See the DBIx::Class::Schema::Loader::Generic docs
- for more information on the available loader methods there.
-
-KNOWN BUGS
- Aside from relationship definitions being less than ideal in general,
- this version is known not to handle the case of multiple relationships
- between the same pair of tables. All of the relationship code will be
- overhauled on the way to 0.03, at which time that bug will be addressed.
-
-AUTHOR
- Brandon Black, "blblack@gmail.com"
-
- Based on DBIx::Class::Loader by Sebastian Riedel
-
- Based upon the work of IKEBE Tomohiro
-
-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
- DBIx::Class
-