Alzabo::Schema(3) 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.

An "Alzabo::Exception::Params" exception is throws if the schema does not contain the table.

tables (@optional_list)

If no arguments are given, this method 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).

An "Alzabo::Exception::Params" exception is throws if the schema does not contain one or more of the specified tables.

has_table ($name)

Returns a boolean value indicating whether 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" object for the schema.

rules

Returns the "Alzabo::RDBMSRules" object for the schema.

sqlmaker

Returns the "Alzabo::SQLMaker" object for the schema.

AUTHOR

Dave Rolsky, <[email protected]>