Alzabo
view release on metacpan or search on metacpan
inc/Alzabo/Config.pm.tmpl view on Meta::CPAN
opendir DIR, $dirname
or Alzabo::Exception::System->throw( error => "can't open $dirname: $!\n" );
my @s;
foreach my $e (readdir DIR)
{
next if $e eq $curdir || $e eq $updir;
my $dir = File::Spec->catdir( $dirname, $e );
push @s, $e
if -d $dir && -r _ && glob "$dir/*.alz";
}
closedir DIR
or Alzabo::Exception::System->throw( error => "can't close $dirname: $!\n" );
return @s;
}
__END__
lib/Alzabo/BackCompat.pm view on Meta::CPAN
$dir
is not writeable by this process. Loading this schema in a process
which can write to this file will cause the schema to be updated.
EOF
die $msg;
}
foreach my $file ( glob("$dir/*.alz"),
glob("$dir/*.rdbms"),
glob("$dir/*.version") )
{
my $backup = "$file.bak.v$p{version}";
copy($file, $backup);
}
my $fh = do { local *FH; *FH };
open $fh, "<$c_file"
or Alzabo::Exception::System->throw( error => "Unable to open $c_file: $!" );
my $raw = Storable::fd_retrieve($fh)
lib/Alzabo/Create/Schema.pm view on Meta::CPAN
Alzabo::Create::Schema - Schema objects for schema creation
=head1 SYNOPSIS
use Alzabo::Create::Schema;
=head1 DESCRIPTION
This class represents the whole schema. It contains table objects,
which in turn contain columns, indexes, etc. It contains methods that
act globally on the schema, including methods to save it to disk,
create itself in an RDBMS, create relationships between tables, etc.
=head2 Instantiation
Every schema keeps track of whether it has been instantiated or not.
A schema that is instantiated is one that exists in an RDBMS backend.
This can be done explicitly by calling the schema's
L<C<create()>|Alzabo::Create::Schema/create> method. It is also
implicitly set when a schema is created as the result of L<reverse
engineering|Alzabo::Create::Schema/reverse_engineer>.
lib/Alzabo/MethodMaker.pm view on Meta::CPAN
sub group { shift->{group} }
sub description { shift->{description} }
# copied from Params::ValidatePP
{
my %type_to_string =
( Params::Validate::SCALAR() => 'scalar',
Params::Validate::ARRAYREF() => 'arrayref',
Params::Validate::HASHREF() => 'hashref',
Params::Validate::CODEREF() => 'coderef',
Params::Validate::GLOB() => 'glob',
Params::Validate::GLOBREF() => 'globref',
Params::Validate::SCALARREF() => 'scalarref',
Params::Validate::UNDEF() => 'undef',
Params::Validate::OBJECT() => 'object',
);
sub _typemask_to_strings
{
shift;
my $mask = shift;
( run in 0.712 second using v1.01-cache-2.11-cpan-49f99fa48dc )