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

Changes for version 0.87

  • BUG FIXES:
  • Table names in CREATE INDEX statements for Postgres were not quoted.
  • Database names in CREATE/DROP DATABASE statements for Postgres were not quoted.
  • Postgres database names with upper case characters were never being detected as being instantiated, which meant Alzabo always tried to recreate the schema from scratch.
  • ALTER TABLE statements for Postgres left the table name unquoted when renaming a column.
  • Even if Alzabo::Runtime::Schema->referential_integrity was false, Alzabo was still doing referential integrity checking on inserts. Reported by Michal Jurosz.
  • 19-schema-name.t did not use the user-supplied connection parameters and could fail because of this. Reported by Daniel Puro.
  • Handle quotes in table names returned by Postgres when reverse engineering.
  • Reverse engineering a Postgres schema that contained indexes on functions could fail because the Alzabo::RDBMSRules::PostgreSQL code used a function from Text::Balanced without loading it first (or making it a prereq for the distro). Reported by an anonymous user via rt.cpan.org.
  • When getting the next sequence number from a Postgres schema, Alzabo was not quoting the sequence name even if the schema's quote_identifiers attribute was true. Reported by "Martin" via rt.cpan.org.
  • ENHANCEMENTS:
  • Allow any key starting with "pg_" when connecting a Postgres database. This allows you to pass attributes like "pg_enable_utf8" or "pg_bool_tf". Prompted by a discussion with Boris Shomodjvarac.

Documentation

Documentation on Alzabo's design
Frequently Asked Questions
Introductory information about Alzabo
Alzabo and MySQL
Alzabo and PostgreSQL
A quick reference to methods in the Alzabo classes

Modules

A data modelling tool and RDBMS-OO mapper
Convert old data structures
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
Creates constants used to turn on debugging
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
Base class for Alzabo RDBMS rulesets
MySQL specific database rules.
PostgreSQL specific database rules
Loads all Alzabo::Runtime::* classes
Column objects
Column definition objects
Base class for Alzabo cursors
Foreign key objects
Index objects
A handle representing an insert
Cursor that returns arrays of Alzabo::Runtime::Row objects
Row objects
Cursor that returns Alzabo::Runtime::Row objects
Row objects that have been deleted
Cached row objects that represent actual database rows
Row objects representing rows in the database
Row objects that are not in the database
Schema objects
Table objects
Implements a row cache for Alzabo
Alzabo base class for RDBMS drivers
Alzabo SQL making class for MySQL
Alzabo SQL making class for PostgreSQL
Schema objects
Table objects

Provides

in lib/Alzabo/MethodMaker.pm
in lib/Alzabo/MethodMaker.pm
in lib/Alzabo/Driver.pm
in lib/Alzabo/Exceptions.pm
in lib/Alzabo/Exceptions.pm
in lib/Alzabo/MethodMaker.pm
in lib/Alzabo/SQLMaker.pm
in lib/Alzabo/Runtime/Row.pm
in lib/Alzabo/Runtime/Row.pm