Cdbi plugins

Here we will describe the various other modules available on CPAN for working with Class::DBI, if we can keep up with the mad profusion.

Relationships
Class::DBI provides several relationships out of the box when installed. These include HasA, HasMany, and MightHave.

It is possible to write your own relationships by subclassing Class::DBI::Relationship. You can also download additional relationships from CPAN:


 * IsA - Is-A 'inheritance' relationship - on CPAN
 * HasVariant - columns with varying types on CPAN
 * HasManyOrdered - One-to-many or many-to-many relationship with ordering on CPAN

Loaders

 * - generate subclasses dynamically - on CPAN
 * - a factory-model framework for CDBI applications with multiple-database and mod_perl support on CPAN or on spanner.org
 * - dynamic definition of subclasses - on CPAN
 * - Easier relationship specification in - on CPAN

Utilities and Extended Functionality

 * - search with SQL::Abstract - on CPAN
 * - HTML form elements for columns - on CPAN
 * - DSN sensitive base class - on CPAN
 * - high-level conceptual searches
 * - execute SQL in DATA sections
 * - create and dispose of tables
 * - complex searches using joins - on CPAN
 * - Miyagawa's extensions used to be the essential first addition to Class::DBI, but they're not needed now - on CPAN
 * - Update with CGI::Untaint - on CPAN
 * - Update Class::DBI data using Data::FormValidator - on CPAN
 * - Schwern's old prod in the direction of proper many-to-many support is now obsolete
 * - Full Text Indexing - on CPAN
 * - Pager utility - on CPAN
 * - get COUNT(*) results with SQL::Abstract - on CPAN
 * - Generate searchable and browseable HTML tables (formerly CDBI::Plugin::HTML) - on CPAN
 * - paged queries for CDBI - on CPAN
 * - more complex retrieve_all - on CPAN
 * - Determine type information for columns
 * - for replicated databases
 * - Swiss Army Knife
 * - Generate modules from database schema - on CPAN
 * - Turn objects into SAX events - on CPAN
 * - Implement constraints using CGI::Untaint - on CPAN
 * - virtual views - on CPAN