Fixup after pull from trunk
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class.pm
CommitLineData
ea2e61bf 1package DBIx::Class;
2
5d283305 3use strict;
4use warnings;
5
5d283305 6use vars qw($VERSION);
3c0068c1 7use base qw/DBIx::Class::Componentised Class::Data::Accessor/;
8
9sub mk_classdata { shift->mk_classaccessor(@_); }
227d4dee 10
b8777a0d 11$VERSION = '0.04999_01';
12
ea2e61bf 131;
34d52be2 14
15=head1 NAME
16
7e4b2f59 17DBIx::Class - Extensible and flexible object <-> relational mapper.
34d52be2 18
19=head1 SYNOPSIS
20
21=head1 DESCRIPTION
22
8091aa91 23This is an SQL to OO mapper, inspired by the L<Class::DBI> framework,
34d52be2 24and meant to support compability with it, while restructuring the
8091aa91 25internals and making it possible to support some new features like
34d52be2 26self-joins, distinct, group bys and more.
27
8091aa91 28This project is still at an early stage, so the maintainers don't make
96ce20f5 29any absolute promise that full backwards-compatibility will be supported;
8091aa91 30however, if we can without compromising the improvements we're trying to
96ce20f5 31make, we will, and any non-compatible changes will merit a full justification
32on the mailing list and a CPAN developer release for people to test against.
daec44b8 33
34The community can be found via -
35
36 Mailing list: http://lists.rawmode.org/mailman/listinfo/dbix-class/
37
38 SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
39
40 Wiki: http://dbix-class.shadowcatsystems.co.uk/
41
42 IRC: irc.perl.org#dbix-class
43
39fe0e65 44=head1 QUICKSTART
45
8091aa91 46If you're using L<Class::DBI>, and want an easy and fast way of migrating to
47DBIx::Class, take a look at L<DBIx::Class::CDBICompat>.
39fe0e65 48
8091aa91 49There are two ways of using DBIx::Class, the "simple" way and the "schema" way.
50The "simple" way of using DBIx::Class needs less classes than the "schema"
51way but doesn't give you the ability to easily use different database connections.
39fe0e65 52
448c8424 53Some examples where different database connections are useful are:
39fe0e65 54
448c8424 55different users with different rights
56different databases with the same schema.
39fe0e65 57
00787068 58=head2 Simple
126042ee 59
8091aa91 60First you need to create a base class which all other classes will inherit from.
61See L<DBIx::Class::DB> for information on how to do this.
39fe0e65 62
8091aa91 63Then you need to create a class for every table you want to use with DBIx::Class.
64See L<DBIx::Class::Table> for information on how to do this.
448c8424 65
66=head2 Schema
67
8091aa91 68With this approach, the table classes inherit directly from DBIx::Class::Core,
69although it might be a good idea to create a "parent" class for all table
70classes that inherits from DBIx::Class::Core and adds additional methods
71needed by all table classes, e.g. reading a config file or loading auto primary
448c8424 72key support.
73
8091aa91 74Look at L<DBIx::Class::Schema> for information on how to do this.
448c8424 75
8091aa91 76If you need more help, check out the introduction in the
448c8424 77manual below.
39fe0e65 78
076652e8 79=head1 SEE ALSO
80
8091aa91 81=head2 L<DBIx::Class::Core> - DBIC Core Classes
82
83=head2 L<DBIx::Class::Manual> - User's manual
84
85=head2 L<DBIx::Class::CDBICompat> - L<Class::DBI> Compat layer
86
87=head2 L<DBIx::Class::DB> - database-level methods
076652e8 88
8091aa91 89=head2 L<DBIx::Class::Table> - table-level methods
076652e8 90
8091aa91 91=head2 L<DBIx::Class::Row> - row-level methods
076652e8 92
8091aa91 93=head2 L<DBIx::Class::PK> - primary key methods
076652e8 94
4db53147 95=head2 L<DBIx::Class::ResultSet> - search result-set methods
96
8091aa91 97=head2 L<DBIx::Class::Relationship> - relationships between tables
076652e8 98
3942ab4d 99=head1 AUTHOR
34d52be2 100
daec44b8 101Matt S. Trout <mst@shadowcatsystems.co.uk>
34d52be2 102
3942ab4d 103=head1 CONTRIBUTORS
104
105Andy Grundman <andy@hybridized.org>
106
107Brian Cassidy <bricas@cpan.org>
108
109Dan Kubb <dan.kubb-cpan@onautopilot.com>
110
111Dan Sully <daniel@cpan.org>
112
ccb9c9b1 113David Kamholz <dkamholz@cpan.org>
114
115Jules Bean
3942ab4d 116
117Marcus Ramberg <mramberg@cpan.org>
118
ccb9c9b1 119Paul Makepeace
120
34d52be2 121=head1 LICENSE
122
123You may distribute this code under the same terms as Perl itself.
124
125=cut
126