Alzabo
view release on metacpan or search on metacpan
- Don't try to include dropped columns when reverse engineering
Postgres 7.3+. Implemented by Ken Williams.
- Do a better job of detecting SERIAL type columns when reverse
engineering Postgres schemas. Based on a patch from Ken Williams.
- Treat Postgres data types SERIAL4, SERIAL8, BIGSERIAL, and BIGINT as
valid types. Implemented by Josh Jore.
- NotNullable exception now include the table and schema name. Based
on a patch from Ken Williams.
- Primary keys are updateable.
- Debugging output from Alzabo::MethodMaker is clearer about what
methods are being made. Implemented by Ken Williams.
- Alzabo::MethodMaker will now create foreign key methods when two
tables have multiple relationships, as long as the name generation
callback returns different names for each of them. Implemented by
Ken Williams.
- A join parameter can now specify an outer join with a single array
reference, such as:
[ left_outer_join => $table_A, $table_B ]
Previously, this could only be done as a double array reference, like:
[ [ left_outer_join => $table_A, $table_B ] ]
- Various doc fixes and rewriting, most notably in Alzabo.pm.
BUG FIXES:
- A join using multiple aliases to the same table would fail with an
error message like "Cannot use column (Foo.bar_id) in select unless
its table is included in the FROM clause".
- Remove the long-ago deprecated next_row() and next_rows() methods.
- Postgres 7.3 allows identifiers to be up to 63 characters. This
broke the code that handled sequenced columns for Postgres. Patch
by Josh Jore.
- If you tried to create a relationship between two tables, and the
"table_to" table already had a column of the same name as the
"column_from" column, then Alzabo died with an error. Reported by
Ping Liang.
- If you had previously installed Alzabo, and then provided a new
Alzabo root directory or a new directory for the Mason components,
this was not respected during the installation process.
- Alzabo's referential integrity checks will no longer complain if you
attempt to set a foreign key column to NULL. Previously it would
throw an exception if the column was part of the dependent table in
a foreign key relationship. Now, it just assumes you really meant
to allow the column to be NULLable.
- The schema class's load_from_file() method now blesses the loaded
schema into the calling class. So if you use MethodMaker to
generate classes, and then call My::Schema->load_from_file, it
should always return an object blessed into the My::Schema class.
Reported by Ken Williams.
- When checking for the MySQL variable sql_mode, the value may be
simply '' as opposed to 0. Patch by Andrew Baumhauer.
BACKWARDS INCOMPATIBILITIES:
- Alzabo now requires at least Perl 5.6.0 (5.6.1+ recommended).
- The old caching system has been removed, as it had way too much
overhead. There is a new, much simpler caching system provided by
the Alzabo::UniqueRowCache module.
- The Alzabo::Runtime::Table->row_by_pk() method no longer dies if it
cannot find a matching row. Instead it simply returns false.
- Some deprecated MethodMaker options were removed: insert, update,
lookup_table
- The Alzabo::Runtime::Row->delete() method now works for potential
rows.
---------------------------------------------------------------------------
0.73 October 5, 2003
BACKWARDS INCOMPATIBILITIES:
- This release no longer includes the Mason schema creation GUI. It
can be installed separately via the Alzabo::GUI::Mason package.
BUG FIXES:
- Fixed a bug in Alzabo::Create::Schema that only seems to be
triggered by newer Perls. The symptom was an error like "Alzabo
does not support the 'MySQL' RDBMS" when trying to create a new
schema.
- Fixed a warning in Alzabo::RDBMSRules.
- The 01-driver.t test ignored any user-supplied RDBMS connection
parameters. Reported by Barry Hoggard.
- Newer versions of MySQL may return quoted table names, which broke
reverse engineering.
- Added a quick and nasty hack to remove the schema name from table
names when reverse engineering Postgres schemas.
- Reverse engineering of indexes for MySQL 4.0+ was broken.
---------------------------------------------------------------------------
0.72 April 12, 2003
ENHANCEMENTS:
- Rewrote the complex build/install system to use Module::Build, which
simplified quite a bit of code. Additionally, this should eliminate
problems reported by Win32 users with the generated Makefile,
( run in 2.744 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )