# $VERSION declaration must stay up here, ahead of any other package
# declarations, as to not confuse various modules attempting to determine
# this ones version, whether that be s.c.o. or Module::Metadata, etc
-$VERSION = '0.08209';
+$VERSION = '0.08250';
$VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases
-BEGIN {
- package # hide from pause
- DBIx::Class::_ENV_;
-
- use Config;
-
- use constant {
-
- # but of course
- BROKEN_FORK => ($^O eq 'MSWin32') ? 1 : 0,
-
- HAS_ITHREADS => $Config{useithreads} ? 1 : 0,
-
- # ::Runmode would only be loaded by DBICTest, which in turn implies t/
- DBICTEST => eval { DBICTest::RunMode->is_author } ? 1 : 0,
-
- # During 5.13 dev cycle HELEMs started to leak on copy
- PEEPEENESS =>
- # request for all tests would force "non-leaky" illusion and vice-versa
- defined $ENV{DBICTEST_ALL_LEAKS} ? !$ENV{DBICTEST_ALL_LEAKS}
- # otherwise confess that this perl is busted ONLY on smokers
- : eval { DBICTest::RunMode->is_smoker } && ($] >= 5.013005 and $] <= 5.013006) ? 1
- # otherwise we are good
- : 0
- ,
- };
-
- if ($] < 5.009_005) {
- require MRO::Compat;
- constant->import( OLD_MRO => 1 );
- }
- else {
- require mro;
- constant->import( OLD_MRO => 0 );
- }
-}
-
+use DBIx::Class::_Util;
use mro 'c3';
use DBIx::Class::Optional::Dependencies;
=head1 SYNOPSIS
-Create a schema class called MyApp/Schema.pm:
+For the very impatient: L<DBIx::Class::Manual::QuickStart>
+
+This code in the next step can be generated automatically from an existing
+database, see L<dbicdump> from the distribution C<DBIx-Class-Schema-Loader>.
+
+=head2 Schema classes preparation
+
+Create a schema class called F<MyApp/Schema.pm>:
package MyApp::Schema;
use base qw/DBIx::Class::Schema/;
1;
Create a result class to represent artists, who have many CDs, in
-MyApp/Schema/Result/Artist.pm:
+F<MyApp/Schema/Result/Artist.pm>:
See L<DBIx::Class::ResultSource> for docs on defining result classes.
1;
A result class to represent a CD, which belongs to an artist, in
-MyApp/Schema/Result/CD.pm:
+F<MyApp/Schema/Result/CD.pm>:
package MyApp::Schema::Result::CD;
use base qw/DBIx::Class::Core/;
1;
+=head2 API usage
+
Then you can use these classes in your application's code:
# Connect to your database.
representing queries in your code as perl-ish as possible while still
providing access to as many of the capabilities of the database as possible,
including retrieving related records from multiple tables in a single query,
-JOIN, LEFT JOIN, COUNT, DISTINCT, GROUP BY, ORDER BY and HAVING support.
+C<JOIN>, C<LEFT JOIN>, C<COUNT>, C<DISTINCT>, C<GROUP BY>, C<ORDER BY> and
+C<HAVING> support.
DBIx::Class can handle multi-column primary and foreign keys, complex
queries and database-level paging, and does its best to only query the
L<your DBD may not be|DBI/Threads and Thread Safety>).
This project is still under rapid development, so large new features may be
-marked EXPERIMENTAL - such APIs are still usable but may have edge bugs.
-Failing test cases are *always* welcome and point releases are put out rapidly
+marked B<experimental> - such APIs are still usable but may have edge bugs.
+Failing test cases are I<always> welcome and point releases are put out rapidly
as bugs are found and fixed.
We do our best to maintain full backwards compatibility for published
ash: Ash Berlin <ash@cpan.org>
-bert: Norbert Csongradi <bert@cpan.org>
+bert: Norbert Csongrádi <bert@cpan.org>
blblack: Brandon L. Black <blblack@gmail.com>
edenc: Eden Cardim <edencardim@gmail.com>
+ether: Karen Etheridge <ether@cpan.org>
+
felliott: Fitz Elliott <fitz.elliott@gmail.com>
freetime: Bill Moseley <moseley@hank.org>
peter: Peter Collingbourne <peter@pcc.me.uk>
+Peter Siklósi <einon@einon.hu>
+
Peter Valdemar ME<oslash>rch <peter@morch.com>
phaylon: Robert Sedlacek <phaylon@dunkelheit.at>