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',
+);
-# < mst> isa => 'DBIx::Class::DeploymentHandler::SqltDeployMethod',
-# < mst> should be
-# < mst> does => <some role>
-# < mst> and that role should supply those methods
-# < mst> then you can pass handles => <some role> as well
+has upgrade_directory => (
+ isa => 'Str',
+ is => 'ro',
+ required => 1,
+ default => 'sql',
+);
- isa => 'DBIx::Class::DeploymentHandler::SqltDeployMethod',
+has databases => (
+ coerce => 1,
+ isa => 'DBIx::Class::DeploymentHandler::Databases',
+ is => 'ro',
+ default => sub { [qw( MySQL SQLite PostgreSQL )] },
+);
+
+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 {
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);
+
+ $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