Take me over?
NAME
Alzabo::Schema - Schema objects
SYNOPSIS
use Alzabo::Schema;
my $schema = Alzabo::Schema->load_from_file('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.
start_transaction
Starts a transaction. Calls to this function may be nested and it will be handled properly.
rollback
Rollback a transaction.
finish_transaction
Finishes a transaction with a commit. If you make multiple calls to start_transaction
, 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.
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>