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