Alzabo is a program and a module suite, with two core functions. Its first use is as a data modelling tool. Through either a schema creation interface or a perl program, you can create a set of schema, table, column, etc. objects to represent your data model. Alzabo is also capable of reverse engineering your data model from an existing system.
Its second function is as an RDBMS to object mapping system. Once you have created a schema, you can use the Alzabo::Runtime::Table and Alzabo::Runtime::Row classes to access its data. These classes offer a high level interface to common operations such as SQL SELECT, INSERT, DELETE, and UPDATE commands. Please see http://www.alzabo.org/ for more info. Alzabo can be installed via the CPAN shell or downloaded from SourceForge. 0.70 November 21, 2002 ENHANCEMENTS: - The exception thrown when you attempt to set a non-nullable column to NULL is now an Alzabo::Exception::NotNullable exception, instead of an Alzabo::Exception::Params exception. In the interests of backwards compatibility, the former is a subclass of the latter. - Improved debugging options. See the new Alzabo::Debug module for details. BUG FIXES: - Fixed Alzabo::Table->primary_key, which would die when no primary key existed and it was called in an scalar context. In an array context, all the columns in the table were returned. Reported by Eric Prestemon. - Alzabo::ObjectCache::Sync::RDBMS created a table that it would later consider incorrect. This made this module unusable. - Alzabo::ObjectCache::Sync::RDBMS caused weird random errors when used with MySQL's InnoDB tables. - In the schema creator, the link to the graph page, and the link _on_ the graph page to the image, were both broken. - Alzabo was allowing you to rename a column to a name of an existing column in a table. Similarly, a table could be renamed to the same name as an existing table. Doing this could trash a schema. - Alzabo::Runtime::Table->one_row would return undef if no row was found, which in a list context evaluated to a true value. - Allow no_cache option when calling Alzabo::Runtime::Schema->join. - When displaying SQL, the schema creator now makes sure to HTML-escape it, because it's possible to have HTML in there (in a default, most likely). - The "children" method generated by Alzabo::MethodMaker did not allow you to add additional where clause constraints to the query.
