NAME
Test::Fixture::DBI - load fixture data to database.
SYNOPSIS
use DBI;
use File::Temp qw(tempfile);
use Test::More;
use Test::Fixture::DBI;
my ( undef, $filename ) = tempfile;
my $dbh = DBI->connect( "dbi:SQLite:dbname=$filename", "", "" );
construct_database(
dbh => $dbh,
database => '/path/to/schema.yaml',
);
construct_fixture(
dbh => $dbh,
fixture => '/path/to/fixture.yaml',
);
DESCRIPTION
Test::Fixture::DBI is fixture test library for DBI.
SETUP
Before using this module, you must create database definition and fixture data. The following is creating database definition using make_database_yaml.pl.
$ make_database_yaml.pl -d "dbi:mysql:dbname=social;host=testdb" -u root -p password -o /path/to/schema.yaml
Next step is create fixture,
$ make_fixture_yaml.pl -d "dbi:mysql:dbname=social;host=testdb" -u root -p password -t activity -n id \
-e "SELECT * FROM activity WHERE app_id = 12 ORDER BY created_on DESC LIMIT 10" -o /path/to/fixture.yaml
FUNCTIONS
construct_database( %specs )
The following is %specs details
- dbh
-
Required parameter. dbh is DBI's DBI::db object;
- database
-
Required parameter. database is ARRAYREF or SCALAR. specify database name.
- schema
-
Optional parameter. schema is ARRAYREF. if schema parameter is specified, then load particular schema from database.
- procedure
-
Optional parameter. procedure is ARRAYREF. if procedure parameter is specified, then load particular procedures from database.
- function
-
Optional parameter. function is ARRAYREF. if function parameter is specified, then load particular functions from database.
- index
-
Optional parameter. index is ARRAYREF. if index parameter is specified, then load particular indexes from database.
construct_fixture( %specs )
The following is %specs details
- dbh
-
Required parameter. dbh is DBI's DBI::db object;
- fixture
-
Required parameter. fixture is SCALAR or ARRAYREF, Specify fixture files.
- opts
-
Optional parameter. opts is HASHREF. opts has bulk_insert key. if the bulk_insert value is true, then using bulk insert on loading fixture data.
construct_trigger( %specs )
The following is %specs details
- dbh
-
Required parameter. dbh is DBI's DBI::db object;
- database
-
Optional parameter. database is SCALAR. specify database name.
- schema
-
Optional parameter. schema is ARRAYREF. if schema parameter is specified, then create particular triggers related specified schema on the database.
AUTHOR
Toru Yamaguchi <zigorou@cpan.org>
Yuji Shimada <xaicron@cpan.org>
SEE ALSO
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.