X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler.pm;h=ae54483b00e5568a24666c9fc55ac883e2a73ce3;hb=91adde755e5808a1ec12bcf00e683e3754964cc9;hp=d7583c1495e3411772f42d13a973478f61da50be;hpb=9f552252915d0b6cb4e369946aa6cb979990afe4;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler.pm b/lib/DBIx/Class/DeploymentHandler.pm index d7583c1..ae54483 100644 --- a/lib/DBIx/Class/DeploymentHandler.pm +++ b/lib/DBIx/Class/DeploymentHandler.pm @@ -7,26 +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::WithApplicatorDumple' => { - #interface_role => 'DBIx::Class::DeploymentHandler::HandlesVersionStorage', - #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::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 script_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 { @@ -46,10 +45,13 @@ sub install_version_storage { } sub prepare_install { - $_[0]->prepare_deploy; - $_[0]->prepare_version_storage_install; + $_[0]->prepare_deploy; + $_[0]->prepare_version_storage_install; } +# the following is just a hack so that ->version_storage +# won't be lazy +sub BUILD { $_[0]->version_storage } __PACKAGE__->meta->make_immutable; 1; @@ -137,11 +139,11 @@ C extends L, so that's probably the first place to look when you are trying to figure out how everything works. -Next would be to look at all the roles that fill in the blanks that +Next would be to look at all the pieces that fill in the blanks that L expects to be filled. They would be -L, -L, -L, and +L, +L, +L, and L. =method prepare_version_storage_install @@ -172,7 +174,7 @@ Lucky for you I had you in mind when I wrote this doc. First off, you'll want to just install the C: my $s = My::Schema->connect(...); - my $dh = DBIx::Class::DeploymentHandler({ schema => $s }); + my $dh = DBIx::Class::DeploymentHandler->({ schema => $s }); $dh->prepare_version_storage_install; $dh->install_version_storage;