Kevin L. Esteb > XAS-0.04 > XAS::Model::Database

Download:
XAS-0.04.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.01   Source   Latest Release: XAS-0.05

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 ^

Symbols for the tables are exported in this fashion. The rule is that any class below the "XAS::Model::Database" hierarchy will be joined and camel cased to signify that they are constants.

For example "XAS::Model::Database::Alert" defines a table structure within the database. The exported symbol would be "Alert". These exported symbols are shortcuts. It is easier to write "Alert->find" then "XAS::Model::Database::Alert->find".

SEE ALSO ^

 DBIx::Class

XAS

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.

syntax highlighting: