Test::Fixture::DBI - load fixture data to database.
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',
);
Test::Fixture::DBI is fixture test library for DBI.
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
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.
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.
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.
Toru Yamaguchi zigorou@cpan.org
Yuji Shimada xaicron@cpan.org
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.