Shoved Class::Data::Inheritable into DBIx::Class, more stuff works now
[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
2441e56f 9$VERSION = '0.03004';
227d4dee 10
126042ee 11
ea2e61bf 121;
34d52be2 13
14=head1 NAME
15
7e4b2f59 16DBIx::Class - Extensible and flexible object <-> relational mapper.
34d52be2 17
18=head1 SYNOPSIS
19
20=head1 DESCRIPTION
21
22This is a sql to oop mapper, inspired by the L<Class::DBI> framework,
23and meant to support compability with it, while restructuring the
24insides, and making it possible to support some new features like
25self-joins, distinct, group bys and more.
26
daec44b8 27It's currently considered EXPERIMENTAL - bring this near a production
28database at your own risk! The API is *not* fixed yet, although most of
29the primitives should be good for the future and any API changes will be
30posted to the mailing list before they're committed.
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
448c8424 44If you're using Class::DBI, and want an easy and fast way of migrating to
45DBIx::Class look at L<DBIx::Class::CDBICompat>.
39fe0e65 46
448c8424 47There are two ways of using DBIx::Class, the 'simple' and the 'schema' one.
39fe0e65 48
448c8424 49The 'simple' way of using DBIx::Class needs less classes than the 'schema'
50way but doesn't give you the ability to use different database connections.
39fe0e65 51
448c8424 52Some examples where different database connections are useful are:
39fe0e65 53
448c8424 54different users with different rights
55different databases with the same schema.
39fe0e65 56
448c8424 57=head1 Simple
126042ee 58
448c8424 59First you need to create a base class all other classes inherit from.
126042ee 60
448c8424 61Look at L<DBIx::Class::DB> how to do this
39fe0e65 62
448c8424 63Next you need to create a class for every table you want to use with
64DBIx::Class.
39fe0e65 65
448c8424 66Look at L<DBIx::Class::Table> how to do this.
39fe0e65 67
448c8424 68
69=head2 Schema
70
71With this approach the table classes inherit directly from DBIx::Class::Core,
72although it might be a good idea to create a 'parent' class for all table
73classes which inherits from DBIx::Class::Core and adds additional methods
74needed by all table classes, e.g. reading a config file, loading auto primary
75key support.
76
77Look at L<DBIx::Class::Schema> how to do this.
78
79If you need more hand-holding, check out the introduction in the
80manual below.
39fe0e65 81
076652e8 82=head1 SEE ALSO
83
84=over 4
85
86=item L<DBIx::Class::Core> - DBIC Core Classes
87
448c8424 88=item L<DBIx::Class::CDBICompat> - L<Class::DBI> Compat layer.
076652e8 89
90=item L<DBIx::Class::Manual> - User's manual.
91
92=back
93
3942ab4d 94=head1 AUTHOR
34d52be2 95
daec44b8 96Matt S. Trout <mst@shadowcatsystems.co.uk>
34d52be2 97
3942ab4d 98=head1 CONTRIBUTORS
99
100Andy Grundman <andy@hybridized.org>
101
102Brian Cassidy <bricas@cpan.org>
103
104Dan Kubb <dan.kubb-cpan@onautopilot.com>
105
106Dan Sully <daniel@cpan.org>
107
108davekam
109
110Marcus Ramberg <mramberg@cpan.org>
111
34d52be2 112=head1 LICENSE
113
114You may distribute this code under the same terms as Perl itself.
115
116=cut
117