make more role delegates work
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler.pm
index 2a37231..a30ec4d 100644 (file)
@@ -7,9 +7,25 @@ use Moose;
 extends 'DBIx::Class::DeploymentHandler::Dad';
 # a single with would be better, but we can't do that
 # see: http://rt.cpan.org/Public/Bug/Display.html?id=46347
-with 'DBIx::Class::DeploymentHandler::WithSqltDeployMethod',
-     'DBIx::Class::DeploymentHandler::WithMonotonicVersions',
-     'DBIx::Class::DeploymentHandler::WithStandardVersionStorage';
+with 'DBIx::Class::DeploymentHandler::WithApplicatorDumple' => {
+                       interface_role       => 'DBIx::Class::DeploymentHandler::HandlesDeploy',
+                       class_name           => 'DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator',
+                       delegate_name        => 'deploy_method',
+                       attributes_to_assume => ['schema'],
+                       attributes_to_copy   => [qw( databases upgrade_directory sql_translator_args )],
+         },
+         'DBIx::Class::DeploymentHandler::WithApplicatorDumple' => {
+                       interface_role       => 'DBIx::Class::DeploymentHandler::HandlesVersioning',
+                       class_name           => 'DBIx::Class::DeploymentHandler::VersionHandler::Monotonic',
+                       delegate_name        => 'version_handler',
+                       attributes_to_assume => [qw( database_version schema_version to_version )],
+         },
+     'DBIx::Class::DeploymentHandler::WithApplicatorDumple' => {
+                       interface_role       => 'DBIx::Class::DeploymentHandler::HandlesVersionStorage',
+                       class_name           => 'DBIx::Class::DeploymentHandler::VersionStorage::Standard',
+                       delegate_name        => 'version_storage',
+                       attributes_to_assume => ['schema'],
+         };
 with 'DBIx::Class::DeploymentHandler::WithReasonableDefaults';
 
 sub prepare_version_storage_install {