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