Changes and version bump for release plus a missing add
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class.pm
1 package DBIx::Class;
2
3 use strict;
4 use warnings;
5
6 use vars qw($VERSION);
7 use base qw/DBIx::Class::Componentised Class::Data::Accessor/;
8
9 sub mk_classdata { shift->mk_classaccessor(@_); }
10 sub component_base_class { 'DBIx::Class' }
11
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
16 $VERSION = '0.04999_04';
17
18 1;
19
20 =head1 NAME 
21
22 DBIx::Class - Extensible and flexible object <-> relational mapper.
23
24 =head1 SYNOPSIS
25
26 =head1 DESCRIPTION
27
28 This is an SQL to OO mapper, inspired by the L<Class::DBI> framework, 
29 and meant to support compability with it, while restructuring the 
30 internals and making it possible to support some new features like 
31 self-joins, distinct, group bys and more.
32
33 This project is still at an early stage, so the maintainers don't make
34 any absolute promise that full backwards-compatibility will be supported;
35 however, if we can without compromising the improvements we're trying to
36 make, we will, and any non-compatible changes will merit a full justification
37 on the mailing list and a CPAN developer release for people to test against.
38
39 The 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
49 =head1 QUICKSTART
50
51 If you're using L<Class::DBI>, and want an easy and fast way of migrating to
52 DBIx::Class, take a look at L<DBIx::Class::CDBICompat>.
53
54 There are two ways of using DBIx::Class, the "simple" way and the "schema" way.
55 The "simple" way of using DBIx::Class needs less classes than the "schema"
56 way but doesn't give you the ability to easily use different database connections.
57
58 Some examples where different database connections are useful are:
59
60 different users with different rights
61 different databases with the same schema.
62
63 =head2 Simple
64
65 First you need to create a base class which all other classes will inherit from.
66 See L<DBIx::Class::DB> for information on how to do this.
67
68 Then you need to create a class for every table you want to use with DBIx::Class.
69 See L<DBIx::Class::Table> for information on how to do this.
70
71 =head2 Schema
72
73 With this approach, the table classes inherit directly from DBIx::Class::Core,
74 although it might be a good idea to create a "parent" class for all table
75 classes that inherits from DBIx::Class::Core and adds additional methods
76 needed by all table classes, e.g. reading a config file or loading auto primary
77 key support.
78
79 Look at L<DBIx::Class::Schema> for information on how to do this.
80
81 If you need more help, check out the introduction in the 
82 manual below.
83
84 =head1 SEE ALSO
85
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
93
94 =head2 L<DBIx::Class::Table> - table-level methods
95
96 =head2 L<DBIx::Class::Row> - row-level methods
97
98 =head2 L<DBIx::Class::PK> - primary key methods
99
100 =head2 L<DBIx::Class::ResultSet> - search result-set methods
101
102 =head2 L<DBIx::Class::Relationship> - relationships between tables
103
104 =head1 AUTHOR
105
106 Matt S. Trout <mst@shadowcatsystems.co.uk>
107
108 =head1 CONTRIBUTORS
109
110 Andy Grundman <andy@hybridized.org>
111
112 Brian Cassidy <bricas@cpan.org>
113
114 Dan Kubb <dan.kubb-cpan@onautopilot.com>
115
116 Dan Sully <daniel@cpan.org>
117
118 David Kamholz <dkamholz@cpan.org>
119
120 Jules Bean
121
122 Marcus Ramberg <mramberg@cpan.org>
123
124 Paul Makepeace
125
126 CL Kao
127
128 Jess Robinson
129
130 Marcus Ramberg
131
132 Will Hawes
133
134 Todd Lipcon
135
136 =head1 LICENSE
137
138 You may distribute this code under the same terms as Perl itself.
139
140 =cut
141