The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.46

  • ENHANCEMENTS:
  • Column types are now canonized to be all upper case. When multiple keywords specify the same type ('INT' and 'INTEGER', for example), one will be chosen. This improves the quality of the reverse engineering and the usability of the schema creation interface.
  • You can now use SQL functions pretty much anywhere you would want (in inserts, updates, where clauses, etc). See the "Using SQL Functions" section in the Alzabo.pm docs for more details.
  • As a corollary to the above, the Alzabo::Runtime::Table->function method has been created to replace the old Alzabo::Runtime::Table->func method. This new method takes advantage of the new system for using SQL functions and is simpler and more flexible. It allows you to perform all sorts of aggregate selects.
  • Added the Alzabo::Runtime::Row->select_hash method. Requested by Dana Powers.
  • DEPRECATIONS:
  • The Alzabo::Runtime::Table->func method has been deprecated.
  • BUG FIXES:
  • When adding an AUTO_INCREMENT column to an existing MySQL table, the SQL generated would cause an error. This has been fixed. However, if the table already has more than row then chances are this still won't work (because MySQL does not try to generate needed unique values for the column when it is added).

Documentation

Frequently Asked Questions
A quick reference to methods in the Alzabo classes

Modules

A data modelling tool and RDBMS-OO mapper
Saves a set of changes as callbacks that can be backed out if needed
Column objects
Holds the type attribute for a column
Loads all Alzabo::Create::* classes
Column objects for use in schema creation
Column definition object for schema creation
Foreign key objects for schema creation.
Index objects for schema creation
Schema objects for schema creation
Table objects for schema creation
Alzabo base class for RDBMS drivers
MySQL specific Alzabo driver subclass
PostgreSQL specific Alzabo driver subclass
Creates all exception subclasses used in Alzabo.
Foreign key (relation) objects
Index objects
Auto-generate useful methods based on an existing schema
A simple in-memory cache for row objects.
Cache objects in memory
Base class for syncing classes
Uses a DBM file to sync object caches
Base class for syncing modules that use DBM files
Uses a Berkeley DB file to sync object caches
Uses a IPC file to sync object caches
No inter-process cache syncing
Uses an SDBM file to sync object caches
Base class for Alzabo RDBMS rulesets
MySQL specific database rules.
PostgreSQL specific database rules
Loads all Alzabo::Runtime::* classes
Cached row objects
Column objects
Column definition objects
Base class for Alzabo cursors
Foreign key objects
Index objects
Cursor that returns arrays of Alzabo::Runtime::Row objects
Row objects
Cursor that returns Alzabo::Runtime::Row objects
Schema objects
Table objects
Alzabo base class for RDBMS drivers
Alzabo SQL making class for MySQL
Alzabo SQL making class for PostgreSQL
Schema objects
Table objects
Utility functions for Alzabo
Alzabo configuration information

Provides

in lib/Alzabo/Driver.pm
in lib/Alzabo/Exceptions.pm
in lib/Alzabo/SQLMaker.pm

Examples