#!/usr/bin/perl
use strict;
use warnings;
use address_book::Schema;
my $schema1 = "address_book::Schema";
print "Test to get array or tablenames \n";
my @tables = $schema1->loader->tables;
print "\nTables: " . @tables . "\n" ;
foreach my $table (@tables) { print "$table\n"; }
print "\n\nTest to get hash{tablename} = moniker \n";
my $monikers = $schema1->loader->monikers;
print $monikers->{address} . "\n";
# Get a hashref of table_name => 'My::Schema::TableName'
print "\n\nTest to get hash{tablename} = class \n";
my $classes = $schema1->loader->classes;
print $classes->{address} , "\n";
# Use the schema as per normal for DBIx::Class::Schema
print "\n\nTest select all \n";
my $rs = $schema1->resultset($monikers->{address});
while (my $address = $rs->next) {
my $name = $address->first ;
$ name .= " " . $address->middle if $address->middle;
$ name .= " " . $address->last if $address->last;
print "$name\n";
}
print "\n";
print "\n\nTest record search \n";
$rs = $schema1->resultset($monikers->{address})->search({first => 'Thomas'});
my $rec = $rs->first;
my $name = $rec->first ;
$ name .= " " . $rec->middle if $rec->middle;
$ name .= " " . $rec->last if $rec->last;
print "$name\n";
#======================================
# OUTPUT
#======================================
[frankg@romeo address_book]$ perl -Ilib t/mytest.pl
### START DBIx::Class::Schema::Loader dump ###
# Initializing table "address" as "address_book::Schema::Address"
address_book::Schema::Address->table('address');
address_book::Schema::Address->add_columns('id', 'first', 'middle', 'last', 'address1', 'address2', 'address3', 'city', 'state', 'zip')
address_book::Schema::Address->set_primary_key('id')
### END DBIx::Class::Schema::Loader dump ###
Test to get array or tablenames
Tables: 1
address
Test to get hash{tablename} = moniker
Address
Test to get hash{tablename} = class
address_book::Schema::Address
Test select all
Frank F Gutierrez
George H Hernandez
Sam W Chu
Thomas G Menow
Test record search
Thomas G Menow