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