sub _build_schema {
my ($self) = @_;
require Class::MOP;
- Class::MOP::load_class($self->schema_class);
-
+ {
+ local @INC = (@{$self->include_dirs}, @INC);
+ Class::MOP::load_class($self->schema_class);
+ }
$self->connect_info->[3]->{ignore_version} =1;
return $self->schema_class->connect(@{$self->connect_info()} ); # , $self->connect_info->[3], { ignore_version => 1} );
}
+=head2 include_dirs
+
+Extra include directories to look when loading C<schema_class>
+
+=cut
+
+has 'include_dirs' => (
+ is => 'rw',
+ isa => 'ArrayRef',
+ default => sub {[]}
+);
=head2 resultset
['deploy' => 'Deploy the schema to the database',],
['select' => 'Select data from the schema', ],
['insert' => 'Insert data into the schema', ],
- ['update' => 'Update data in the schema', ],
+ ['update' => 'Update data in the schema', ],
['delete' => 'Delete data from the schema',],
['op:s' => 'compatiblity option all of the above can be suppied as --op=<action>'],
['help' => 'display this help', { implies => { schema_class => '__dummy__' } } ],
['force' => 'Be forceful with some operations'],
['trace' => 'Turn on DBIx::Class trace output'],
['quiet' => 'Be less verbose'],
+ ['I:s@' => 'Same as perl\'s -I']
)
);
);
}
+if($opts->{I}) {
+ $opts->{include} = delete $opts->{I};
+}
+
if($opts->{help}) {
$usage->die();
}
$action = $opts->{op} if ($action eq 'op');
-print "Performig action $action...\n";
+print "Performing action $action...\n";
my $res = $admin->$action();
if ($action eq 'select') {