X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler%2FWithSqltDeployMethod.pm;h=8b3f5cc11cb683d5e9480a33ef3e845de749a401;hb=refs%2Ftags%2Fv0.001000_05;hp=79d1a2dd1d1aebaf91af9ba929341206480ce0ea;hpb=5e69e63592ece381bacc01fa0e33db5bef1404e3;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm b/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm index 79d1a2d..8b3f5cc 100644 --- a/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm +++ b/lib/DBIx/Class/DeploymentHandler/WithSqltDeployMethod.pm @@ -1,47 +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 => ( + 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 - create_install_ddl - create_update_ddl - create_ddl_dir - upgrade_single_step - }], + 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, - 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, + sqltargs => $self->sqltargs, + }; + + $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