Add Class::Trigger and DBIx::ContextualFetch to build requirements
[dbsrgits/DBIx-Class-Historic.git] / README
1 NAME
2     DBIx::Class - Extensible and flexible object <-> relational mapper.
3
4 SYNOPSIS
5 DESCRIPTION
6     This is a sql to oop mapper, inspired by the Class::DBI framework, and
7     meant to support compability with it, while restructuring the insides,
8     and making it possible to support some new features like self-joins,
9     distinct, group bys and more.
10
11     It's currently considered EXPERIMENTAL - bring this near a production
12     database at your own risk! The API is *not* fixed yet, although most of
13     the primitives should be good for the future and any API changes will be
14     posted to the mailing list before they're committed.
15
16     The community can be found via -
17
18       Mailing list: http://lists.rawmode.org/mailman/listinfo/dbix-class/
19
20       SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
21
22       Wiki: http://dbix-class.shadowcatsystems.co.uk/
23
24       IRC: irc.perl.org#dbix-class
25
26 QUICKSTART
27     If you're using Class::DBI, and want an easy and fast way of migrating
28     to DBIx::Class look at DBIx::Class::CDBICompat.
29
30     There are two ways of using DBIx::Class, the 'simple' and the 'schema'
31     one.
32
33     The 'simple' way of using DBIx::Class needs less classes than the
34     'schema' way but doesn't give you the ability to use different database
35     connections.
36
37     Some examples where different database connections are useful are:
38
39     different users with different rights different databases with the same
40     schema.
41
42 Simple
43     First you need to create a base class all other classes inherit from.
44
45     Look at DBIx::Class::DB how to do this
46
47     Next you need to create a class for every table you want to use with
48     DBIx::Class.
49
50     Look at DBIx::Class::Table how to do this.
51
52   Schema
53     With this approach the table classes inherit directly from
54     DBIx::Class::Core, although it might be a good idea to create a 'parent'
55     class for all table classes which inherits from DBIx::Class::Core and
56     adds additional methods needed by all table classes, e.g. reading a
57     config file, loading auto primary key support.
58
59     Look at DBIx::Class::Schema how to do this.
60
61     If you need more hand-holding, check out the introduction in the manual
62     below.
63
64 SEE ALSO
65     DBIx::Class::Core - DBIC Core Classes
66     DBIx::Class::CDBICompat - Class::DBI Compat layer.
67     DBIx::Class::Manual - User's manual.
68
69 AUTHOR
70     Matt S. Trout <mst@shadowcatsystems.co.uk>
71
72 CONTRIBUTORS
73     Andy Grundman <andy@hybridized.org>
74
75     Brian Cassidy <bricas@cpan.org>
76
77     Dan Kubb <dan.kubb-cpan@onautopilot.com>
78
79     Dan Sully <daniel@cpan.org>
80
81     davekam
82
83     Marcus Ramberg <mramberg@cpan.org>
84
85 LICENSE
86     You may distribute this code under the same terms as Perl itself.
87