more namespace reorg
[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
8 # < mst> isa => 'DBIx::Class::DeploymentHandler::SqltDeployMethod',
9 # < mst> should be
10 # < mst> does => <some role>
11 # < mst> and that role should supply those methods
12 # < mst> then you can pass handles => <some role> as well
13
14   isa => 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator',
15   is  => 'ro',
16   lazy_build => 1,
17   handles => [qw{
18     _deploy
19    prepare_install
20    prepare_update
21    _upgrade_single_step
22   }],
23 );
24
25 sub _build_deploy_method {
26   my $self = shift;
27   my $args = {
28     schema            => $self->schema,
29     databases         => $self->databases,
30     upgrade_directory => $self->upgrade_directory,
31     sqltargs          => $self->sqltargs,
32     do_backup         => $self->do_backup,
33   };
34   $args->{backup_directory} = $self->backup_directory
35     if $self->has_backup_directory;
36   DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator->new($args);
37 }
38
39 1;
40
41 __END__
42
43 vim: ts=2 sw=2 expandtab