X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler%2FWithSqltDeployMethod.pm;h=80fbf7771f8dc699c064e6209739608bddef9ac9;hb=02a7b8ac7ff6775fa47f26d22a825d024637a1a6;hp=cef904bc81cdcc74730cc82dc38dacae849abb00;hpb=e051bb000c29c270bb393965ab3a088320c648f3;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm b/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm index cef904b..80fbf77 100644 --- a/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm +++ b/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm @@ -1,41 +1,54 @@ package DBIx::Class::DeploymentHandler::WithSqltDeployMethod; use Moose::Role; -use DBIx::Class::DeploymentHandler::SqltDeployMethod; +# ABSTRACT: Delegate/Role for DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator -use Carp 'carp'; +use DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator; has deploy_method => ( - isa => 'DBIx::Class::DeploymentHandler::SqltDeployMethod', + does => 'DBIx::Class::DeploymentHandler::HandlesDeploy', is => 'ro', lazy_build => 1, - handles => [qw{ - deployment_statements - deploy - create_install_ddl - create_update_ddl - create_ddl_dir - upgrade_single_step - }], + handles => 'DBIx::Class::DeploymentHandler::HandlesDeploy', +); + +has upgrade_directory => ( + isa => 'Str', + is => 'ro', + required => 1, + default => 'sql', +); + +has databases => ( + coerce => 1, + isa => 'DBIx::Class::DeploymentHandler::Databases', + is => 'ro', + default => sub { [qw( MySQL SQLite PostgreSQL )] }, +); + +has sql_translator_args => ( + isa => 'HashRef', + is => 'ro', + default => sub { {} }, ); sub _build_deploy_method { - my $self = shift; - my $args = { - schema => $self->schema, - databases => $self->databases, - upgrade_directory => $self->upgrade_directory, - sqltargs => $self->sqltargs, - storage => $self->storage, - do_backup => $self->do_backup, - }; - $args->{backup_directory} = $self->backup_directory - if $self->has_backup_directory; - DBIx::Class::DeploymentHandler::SqltDeployMethod->new($args); + my $self = shift; + my $args = { + schema => $self->schema, + databases => $self->databases, + upgrade_directory => $self->upgrade_directory, + sql_translator_args => $self->sql_translator_args, + }; + + $args->{schema_version} = $self->schema_version if $self->has_schema_version; + DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator->new($args); } 1; +# vim: ts=2 sw=2 expandtab + __END__ -vim: ts=2,sw=2,expandtab +TODO: pod