1 package DBIx::Class::Fixtures;
6 use DBIx::Class::Exception;
8 use Path::Class qw(dir file);
10 use JSON::Syck qw(LoadFile);
13 use base qw(Class::Accessor);
15 __PACKAGE__->mk_accessors(qw(config_dir));
23 our $VERSION = '1.000';
29 use DBIx::Class::Fixtures;
33 my $fixtures = DBIx::Class::Fixtures->new({ config_dir => '/home/me/app/fixture_configs' });
36 config => 'set_config.json',
37 schema => $source_dbic_schema,
38 directory => '/home/me/app/fixtures'
42 directory => '/home/me/app/fixtures',
43 ddl => '/home/me/app/sql/ddl.sql',
44 connection_details => ['dbi:mysql:dbname=app_dev', 'me', 'password']
60 unless (ref $params eq 'HASH') {
61 return DBIx::Class::Exception->throw('first arg to DBIx::Class::Fixtures->new() must be hash ref');
64 unless ($params->{config_dir}) {
65 return DBIx::Class::Exception->throw('config_dir param not specified');
68 my $config_dir = dir($params->{config_dir});
69 unless (-e $params->{config_dir}) {
70 return DBIx::Class::Exception->throw('config_dir directory doesn\'t exist');
74 config_dir => $config_dir