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>
- Test::Fixture::DBIC::Schema
- Test::Fixture::DBIxSkinny
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.