NAME

XAS::Model::Database - Define the database schema used by the XAS environment

SYNOPSIS

use XAS::Model::Database 'Nmon';

try {

    $schema = XAS::Model::Database->opendb('database');

    my @rows = Master->search($schema);

    foreach my $row (@rows) {

        printf("Hostname = %s\n", $row->Hostname);

    }

} catch {

    my $ex = $_;

    print $ex;

};

DESCRIPTION

This modules loads the necessary table definations for the XAS environment. It also exports symbols that allows the shortcut methods from XAS::Model::DBM to work. Please see EXPORT for those variables. This module can be loaded in several differant ways.

Example

use XAS::Model::Database 'Master';

or

use XAS::Model::Database qw( Master Detail );

or

use XAS::Model::Database ':all';

The difference is that in the first example you are only loading the "Master" symbol into your module. The second example loads the symbols "Master" and "Detail". The "all" qualifer would export all defined symbols.

METHODS

opendb($database)

This method provides the defaults necessary to call the DBIx::Class::Schema connect() method. It takes one parameter.

$database

The name of a configuration item suitable for DBIx::Class::Schema::Configure.

Example

my $handle = XAS::Model::Database->opendb('database');

EXPORT

The following symbols can be exported.

Alert - XAS::Model::Database::Alert

SEE ALSO

DBIx::Class

XAS::Base
XAS::Class
XAS::Constants
XAS::Exception
XAS::System
XAS::Utils

XAS::Apps::Base::Alerts
XAS::Apps::Base::Collector
XAS::Apps::Base::ExtractData
XAS::Apps::Base::ExtractGlobals
XAS::Apps::Base::RemoveData
XAS::Apps::Database::Schema
XAS::Apps::Templates::Daemon
XAS::Apps::Templates::Generic
XAS::Apps::Test::Echo::Client
XAS::Apps::Test::Echo::Server
XAS::Apps::Test::RPC::Client
XAS::Apps::Test::RPC::Methods
XAS::Apps::Test::RPC::Server

XAS::Collector::Alert
XAS::Collector::Base
XAS::Collector::Connector
XAS::Collector::Factory

XAS::Lib::App
XAS::Lib::App::Daemon
XAS::Lib::App::Daemon::POE
XAS::Lib::Connector
XAS::Lib::Counter
XAS::Lib::Daemon::Logger
XAS::Lib::Daemon::Logging
XAS::Lib::Gearman::Admin
XAS::Lib::Gearman::Admin::Status
XAS::Lib::Gearman::Admin::Worker
XAS::Lib::Gearman::Client
XAS::Lib::Gearman::Client::Status
XAS::Lib::Gearman::Worker
XAS::Lib::Net::Client
XAS::LIb::Net::Server
XAS::Lib::RPC::JSON::Client
XAS::Lib::RPC::JSON::Server
XAS::Lib::Session
XAS::Lib::Spool

XAS::Model::Database
XAS::Model::Database::Alert
XAS::Model::Database::Counter
XAS::Model::DBM

XAS::Monitor::Base
XAS::Monitor::Database
XAS::Monitor::Database::Alert

XAS::Scheduler::Base

XAS::System::Alert
XAS::System::Email
XAS::System::Environment
XAS::System::Logger

AUTHOR

Kevin Esteb, <kevin@kesteb.usg>

COPYRIGHT AND LICENSE

Copyright (C) 2012 by Kevin L. Esteb

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.