X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler%2FWithSqltDeployMethod.pm;h=9bee8e8cf55171fef12165fa371408244e698cad;hb=e52174e31b95fe335f6ab8cfdbf23cc2a0c05673;hp=4555d1e6c0b8b65997921e277d8639e8c7fd146b;hpb=2bf06b5f0424262e99d49b7c2b7173c3afeb87dc;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm b/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm index 4555d1e..9bee8e8 100644 --- a/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm +++ b/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm @@ -1,46 +1,47 @@ package DBIx::Class::DeploymentHandler::WithSqltDeployMethod; use Moose::Role; -use DBIx::Class::DeploymentHandler::SqltDeployMethod; - -use Carp 'carp'; +use DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator; has deploy_method => ( + does => 'DBIx::Class::DeploymentHandler::HandlesDeploy', + is => 'ro', + lazy_build => 1, + handles => 'DBIx::Class::DeploymentHandler::HandlesDeploy', +); + +has upgrade_directory => ( + isa => 'Str', + is => 'ro', + required => 1, + default => 'sql', +); -# < mst> isa => 'DBIx::Class::DeploymentHandler::SqltDeployMethod', -# < mst> should be -# < mst> does => -# < mst> and that role should supply those methods -# < mst> then you can pass handles => as well +has databases => ( + coerce => 1, + isa => 'DBIx::Class::DeploymentHandler::Databases', + is => 'ro', + default => sub { [qw( MySQL SQLite PostgreSQL )] }, +); - isa => 'DBIx::Class::DeploymentHandler::SqltDeployMethod', +has sqltargs => ( + isa => 'HashRef', is => 'ro', - lazy_build => 1, - handles => [qw{ - deployment_statements - deploy - prepare_install - prepare_update - upgrade_single_step - }], + default => sub { {} }, ); sub _build_deploy_method { my $self = shift; - my $args = { + DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator->new({ schema => $self->schema, databases => $self->databases, upgrade_directory => $self->upgrade_directory, sqltargs => $self->sqltargs, - do_backup => $self->do_backup, - }; - $args->{backup_directory} = $self->backup_directory - if $self->has_backup_directory; - DBIx::Class::DeploymentHandler::SqltDeployMethod->new($args); + }); } 1; -__END__ +# vim: ts=2 sw=2 expandtab -vim: ts=2 sw=2 expandtab +__END__