NAME

Test::DB::Postgres - Temporary Testing Databases for Postgres

ABSTRACT

Temporary Postgres Database for Testing

VERSION

0.10

SYNOPSIS

package main;

use Test::DB::Postgres;

my $tdbo = Test::DB::Postgres->new;

# my $dbh = $tdbo->create->dbh;

DESCRIPTION

This package provides methods for generating and destroying Postgres databases for testing purposes. The attributes can be set using their respective environment variables: TESTDB_TEMPLATE, TESTDB_DATABASE, TESTDB_USERNAME, TESTDB_PASSWORD, TESTDB_HOSTNAME, and TESTDB_HOSTPORT.

ATTRIBUTES

This package has the following attributes:

dbh

dbh(Object)

This attribute is read-only, accepts (Object) values, and is optional.

dsn

dsn(Str)

This attribute is read-only, accepts (Str) values, and is optional.

database

database(Str)

This attribute is read-only, accepts (Str) values, and is optional.

hostname

hostname(Str)

This attribute is read-only, accepts (Str) values, and is optional.

hostport

hostport(Str)

This attribute is read-only, accepts (Str) values, and is optional.

uri

uri(Str)

This attribute is read-only, accepts (Str) values, and is optional.

username

username(Str)

This attribute is read-only, accepts (Str) values, and is optional.

password

password(Str)

This attribute is read-only, accepts (Str) values, and is optional.

METHODS

This package provides the following methods:

clone

clone(Str $source) : Object

The clone method creates a temporary database from a database template.

clone example 1
# given: synopsis

$tdbo->clone('template0');

# <Test::DB::Postgres>

create

create() : Object

The create method creates a temporary database and returns the invocant.

create example 1
# given: synopsis

$tdbo->create;

# <Test::DB::Postgres>

destroy

destroy() : Object

The destroy method destroys (drops) the database and returns the invocant.

destroy example 1
# given: synopsis

$tdbo->create;
$tdbo->destroy;

# <Test::DB::Postgres>