b0bf914fbea959b88465e448ced00acf73c6d86f
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / WithSqltDeployMethod.pm
1 package DBIx::Class::DeploymentHandler::WithSqltDeployMethod;
2 use Moose::Role;
3
4 use DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator;
5
6 has deploy_method => (
7   does => 'DBIx::Class::DeploymentHandler::HandlesDeploy',
8   is  => 'ro',
9   lazy_build => 1,
10   handles =>  'DBIx::Class::DeploymentHandler::HandlesDeploy',
11 );
12
13 has upgrade_directory => (
14   isa      => 'Str',
15   is       => 'ro',
16   required => 1,
17   default  => 'sql',
18 );
19
20 has databases => (
21   coerce  => 1,
22   isa     => 'DBIx::Class::DeploymentHandler::Databases',
23   is      => 'ro',
24   default => sub { [qw( MySQL SQLite PostgreSQL )] },
25 );
26
27 has sqltargs => (
28   isa => 'HashRef',
29   is  => 'ro',
30   default => sub { {} },
31 );
32
33 sub _build_deploy_method {
34   my $self = shift;
35   DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator->new({
36     schema            => $self->schema,
37     databases         => $self->databases,
38     upgrade_directory => $self->upgrade_directory,
39     sqltargs          => $self->sqltargs,
40   });
41 }
42
43 1;
44
45 __END__
46
47 vim: ts=2 sw=2 expandtab