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

NAME

Alzabo::Schema - Schema objects

SYNOPSIS

  use base qw(Alzabo::Schema);

DESCRIPTION

This is the base class for schema objects..

METHODS

name

Returns

A string containing the name of the schema.

table ($name)

Returns

An Alzabo::Table object representing the specified table.

Throws

Alzabo::Exception::Params

tables (@optional_list)

Returns

If no arguments are given, returns a list of all Alzabo::Table objects in the schema, or in a scalar context the number of such tables. If one or more arguments are given, returns a list of table objects with those names, in the same order given (or the number of such tables in a scalar context, but this isn't terribly useful).

Throws

Alzabo::Exception::Params

has_table ($name)

Returns

A true or false value depending on whether or not the table exists in the schema.

begin_work

Starts a transaction. Calls to this function may be nested and it will be handled properly.

rollback

Rollback a transaction.

commit

Finishes a transaction with a commit. If you make multiple calls to begin_work, make sure to call this method the same number of times.

run_in_transaction ( sub { code... } )

This method takes a subroutine reference and wraps it in a transaction.

It will preserve the context of the caller and returns whatever the wrapped code would have returned.

driver

Returns

The Alzabo::Driver subclass object for the schema.

rules

Returns

The Alzabo::RDBMSRules subclass object for the schema.

sqlmaker

Returns

The Alzabo::SQLMaker subclass object for the schema.

AUTHOR

Dave Rolsky, <autarch@urth.org>