App-Office-CMS
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/App/Office/CMS/Database.pm view on Meta::CPAN
has logger =>
(
is => 'rw',
isa => Any,
);
has menu =>
(
is => 'rw',
isa => Any, # 'App::Office::CMS::Database::Menu',
);
has page =>
(
is => 'rw',
isa => Any, # 'App::Office::CMS::Database::Page',
);
has session =>
(
is => 'rw',
isa => Any,
);
has simple =>
(
is => 'rw',
isa => Any,
);
has site =>
(
is => 'rw',
isa => Any, # 'App::Office::CMS::Database::Site',
);
our $VERSION = '0.93';
# -----------------------------------------------
sub BUILD
{
my($self) = @_;
my($config) = $self -> config;
my($attr) =
{
AutoCommit => $$config{AutoCommit},
RaiseError => $$config{RaiseError},
};
if ( ($$config{dsn} =~ /SQLite/i) && $$config{sqlite_unicode})
{
$$attr{sqlite_unicode} = 1;
}
$self -> dbh(DBI -> connect($$config{dsn}, $$config{username}, $$config{password}, $attr) );
=pod
use Modern::Perl;
use DBI;
use Exception::Class::DBI;
my $dbh = DBI->connect('DBI:mysql:test', 'user', pass, {
PrintError => 0,
RaiseError => 0,
HandleError => Exception::Class::DBI->handler,
});
eval {
$dbh->do('insert into non_extistent_table values(1)')
};
if (my $e = Exception::Class->caught('Exception::Class::DBI')) {
say $e->err;
say $e->errstr;
} else {
# Check for other exceptions as required
}
=cut
if ($$config{dsn} =~ /SQLite/i)
{
$self -> dbh -> do('PRAGMA foreign_keys = ON');
}
$self -> asset(App::Office::CMS::Database::Asset -> new(db => $self) );
$self -> content(App::Office::CMS::Database::Content -> new(db => $self) );
$self -> design(App::Office::CMS::Database::Design -> new(db => $self) );
$self -> event(App::Office::CMS::Database::Event -> new(db => $self) );
$self -> logger(App::Office::CMS::Util::Logger -> new(db => $self) );
$self -> menu(App::Office::CMS::Database::Menu -> new(db => $self) );
$self -> page(App::Office::CMS::Database::Page -> new(db => $self) );
$self -> simple(DBIx::Simple -> new($self -> dbh) );
$self -> site(App::Office::CMS::Database::Site -> new(db => $self) );
return $self;
} # End of BUILD.
# --------------------------------------------------
sub build_context
{
my($self, $site_id, $design_id) = @_;
$self -> log(debug => "build_context($site_id, $design_id)");
return "$site_id/$design_id";
} # End of build_context.
# --------------------------------------------------
sub build_default_asset
{
my($self, $page) = @_;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.392 second using v1.00-cache-2.02-grep-82fe00e-cpan-d29e8ade9f55 )