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