README
1ABOUT
2
3Alzabo is a two-fold program. Its first function is as a data
4modelling tool. Through either a schema creation interface or a custom
5perl program, you can create a set of schema, table, column,
6etc. objects that represent your data model. Alzabo is also capable of
7reverse engineering an existing data model.
8
9Its second function is as a RDBMS to object mapping system. Once you
10have created a schema, you can use the Alzabo::Runtime::Table and
11Alzabo::Runtime::Row classes to access its data. These classes offer a
12high level interface to common operations such as SQL SELECT, INSERT,
13DELETE, and UPDATE commands.
14
15To take it a step further, you could then aggregate a set of rows from
16different tables into a larger container object which could understand
17the logical relationship between these tables. The
18Alzabo::MethodMaker module can be very helpful in this regard.
19
20For more information please see the Alzabo docs (start with perldoc
21Alzabo) or the Alzabo homepage at http://www.alzabo.org/. The full
22documentation in HTML form is available at
23http://www.alzabo.org/docs/.
24
25Install information is in the INSTALL file.
26
27REQUIREMENTS
28
29Alzabo passes all its test with Perl 5.6.1+. 5.6.0 is known to be
30buggy and not recommended.
31
32Alzabo currently supports MySQL (3.23.x or 4.0.x release is
33recommended) and Postgres (7.2.x or newer is recommended).
34
35Alzabo also requires a number of modules, and will prompt you to
36install them if necessary. Of course, if you install Alzabo via the
37CPAN or CPANPLUS shells this will be handled for you.
38
39SUPPORT
40
41The Alzabo docs are conveniently located online at
42http://www.alzabo.org/docs/.
43
44There is also a mailing list. You can sign up at
45http://lists.sourceforge.net/lists/listinfo/alzabo-general.
46
47Please don't email me directly. Use the list instead so others can
48see your questions.
49
50REPORTING BUGS
51
52If you are getting some sort of error message, please set the
53environment variable ALZABO_DEBUG to TRACE and then send the now very
54verbose error message to the mailing list.
55
56If you are experiencing test failures, please run the tests like this:
57
58 ./Build test verbose=1
59
60and send the output along with the bug report. Otherwise I'll just
61ask you to do this before I can do anything.
62
63UPGRADING
64
65As of version 0.65, Alzabo automatically upgrades older schemas as it
66loads them. This works for schemas made by versions going back to
67version 0.55.
68
69BUGS
70
71- Forking apps and Postgres
72
73In testing, I found that there were some problems using Postgres in a
74situation where you start the app, connect to the database, get some
75data, fork, reconnect, and and then get more data. I suspect that
76this has more to do with the DBD::Pg driver and/or Postgres itself
77than Alzabo. I don't believe this would be a problem with an app
78which forks before ever connecting to the database (such as mod_perl).
79I have structured the test suite to avoid this problem in testing but
80forewarned is forearmed (or something like that).
81
82- make_html_docs.pl and Pod::Html
83
84There are links in some of the POD that Pod::Html fails to resolve.
85This causes warnings when running make_html_docs.pl. However, the
86generated HTML files are processed to correct these problems so you
87can just ignore them.
88
89CREDITS
90
91Ilya Martynov deserves special thanks for providing a _lot_ of patches
92as well as many useful suggestions on new features, bug fixing, etc.
93
94Ken Williams contributed a number of patches, many of which focused on
95improving Postgres support.
96
97Bob Gustafson has provided extensive assistance in testing and
98debugging.
99
100Thanks very much to Randal Schwartz for spending time with me on IRC
101helping me find problems with the install process way back in the
102early releases.
103
104Some features in Alzabo have been borrowed or influenced by Class:DBI
105(Michael Schwern and Tony Bowden) and Tangram (Jean-Louis Leroy).
106
107Various bug reports and assistance from:
108
109Alexei Barantsev
110Robin Berjon
111Brad Bowman
112Terrence Brannon
113Remi Cohen-Scali
114Martin Ertl
115Daniel Gaspani
116Robert Goff
117Raul Nohea Goodness
118Michael Graham
119Eric Hillman
120Barry Hoggard
121Sam Horrocks
122Aaron Johnson
123Josh Jore
124Dan Martinez
125William McKee
126Dana Powers
127Jared Rhine
128Ron Savage
129Jeremy R. Semeiks