add in role I forget
[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::SqltDeployMethod;
5
6 use Carp 'carp';
7
8 has deploy_method => (
9   isa => 'DBIx::Class::DeploymentHandler::SqltDeployMethod',
10   is  => 'ro',
11   lazy_build => 1,
12   handles => [qw{
13     deployment_statements
14          deploy
15          create_install_ddl
16          create_update_ddl
17          create_ddl_dir
18          upgrade_single_step
19   }],
20 );
21
22 sub _build_deploy_method {
23         my $self = shift;
24         my $args = {
25                 schema            => $self->schema,
26                 databases         => $self->databases,
27                 upgrade_directory => $self->upgrade_directory,
28                 sqltargs          => $self->sqltargs,
29                 storage           => $self->storage,
30                 do_backup         => $self->do_backup,
31         };
32         $args->{backup_directory} = $self->backup_directory
33                 if $self->has_backup_directory;
34         DBIx::Class::DeploymentHandler::SqltDeployMethod->new($args);
35 }
36
37 1;