Take me over?
NAME
Alzabo::Schema - Schema objects
SYNOPSIS
use Alzabo::Schema;
my $schema = Alzabo::Schema->load_from_file( name => 'foo' );
foreach my $t ($schema->tables)
{
print $t->name;
}
DESCRIPTION
Objects in this class represent the entire schema, containing table objects, which in turn contain foreign key objects and column objects, which in turn contain column definition objects.
METHODS
name
Returns
A string containing the name of the schema.
table ($name)
Returns
An Alzabo::Table
object representing the specified table.
Throws
tables (@optional_list)
Returns
A list of Alzabo::Table
object named in the list given. If no list is provided, then it returns all table objects in the schema.
Throws
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>