From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

NAME

Teng::Schema::Dumper - Schema code generator

SYNOPSIS

use DBI;
my $dbh = DBI->connect(@dsn) or die;
print Teng::Schema::Dumper->dump(
dbh => $dbh,
namespace => 'Mock::DB',
inflate => +{
user => q|
use Mock::Inflate::Name;
inflate 'name' => sub {
my ($col_value) = @_;
return Mock::Inflate::Name->new(name => $col_value);
};
deflate 'name' => sub {
my ($col_value) = @_;
return ref $col_value ? $col_value->name : $col_value . '_deflate';
};
inflate qr/.+oo/ => sub {
my ($col_value) = @_;
return Mock::Inflate::Name->new(name => $col_value);
};
deflate qr/.+oo/ => sub {
my ($col_value) = @_;
return ref $col_value ? $col_value->name : $col_value . '_deflate';
};
|,
},
);

DESCRIPTION

This module generates the Perl code to generate Teng::Schema instance.

You can use it by do "my/schema.pl" or embed it to the package.

METHODS

Teng::Schema::Dumper->dump(dbh => $dbh, namespace => $namespace)

This is the method to generate code from DB. It returns the Perl5 code in string.

The arguments are:

dbh

Database handle from DBI.

namespace

your project Teng namespace.

base_row_class

Specify the default base row class for Teng::Schema::Declare.

default_row_class_prefix

Specify the default row class prefix for Teng::Schema::Declare.