NAME

DBIO::DeploymentHandler::HandlesDeploy - Interface for deploy methods

VERSION

version 0.900004

DESCRIPTION

Interface contract for a deploy_method collaborator, as consumed by the native DBIO::DeploymentHandler. A conforming deploy method MUST implement:

prepare_deploy
deploy
prepare_resultsource_install
install_resultsource
prepare_upgrade
txn_do
upgrade

This is the native contract -- exactly the methods the native handler invokes on its deploy method. It is intentionally narrower than the upstream DBIx::Class::DeploymentHandler deploy-method contract:

  • upgrade_single_step, prepare_downgrade, and downgrade_single_step belonged to the old loop-based DBIO::DeploymentHandler::Dad contract, which walked discrete version transitions. The native handler overrides upgrade with a single-shot driver reconcile and throws on downgrade, so it never calls those three -- they are deliberately not part of this interface. (See t/deployment_handler.t, which asserts their removal.)

  • initialize is not required. The native handler never calls it; DBIO::DeploymentHandler::DeployMethod::Native still provides it as a no-op for legacy Dad compatibility, but a conforming deploy method does not have to.

METHODS

assert_implemented

DBIO::DeploymentHandler::HandlesDeploy->assert_implemented($deploy_method);

Class method. Verifies that $target (a deploy-method object or class) can every required method. Throws a DBIO::Exception naming all missing methods, the target class, and this interface when the contract is not satisfied. Returns true otherwise.

AUTHOR

DBIO & DBIx::Class Authors

COPYRIGHT AND LICENSE

Copyright (C) 2026 DBIO Authors Portions Copyright (C) 2005-2025 DBIx::Class Authors Based on DBIx::Class, heavily modified.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.