package DBIx::Class::DeploymentHandler::Dad;
+# ABSTRACT: Parent class for DeploymentHandlers
+
use Moose;
use Method::Signatures::Simple;
require DBIx::Class::Schema; # loaded for type constraint
package DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated;
use Moose;
+
+# ABSTRACT: (DEPRECATED) Use this if you are stuck in the past
+
use Method::Signatures::Simple;
use File::Spec::Functions;
package DBIx::Class::DeploymentHandler::Deprecated;
+# ABSTRACT: (DEPRECATED) Use this if you are stuck in the past
+
use Moose;
use Moose::Util 'apply_all_roles';
package DBIx::Class::DeploymentHandler::Deprecated::WithDeprecatedSqltDeployMethod;
use Moose::Role;
+# ABSTRACT: (DEPRECATED) Use this if you are stuck in the past
+
use DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated;
has deploy_method => (
package DBIx::Class::DeploymentHandler::Deprecated::WithDeprecatedVersionStorage;
use Moose::Role;
+# ABSTRACT: (DEPRECATED) Use this if you are stuck in the past
+
use DBIx::Class::DeploymentHandler::VersionStorage::Deprecated;
has version_storage => (
package DBIx::Class::DeploymentHandler::HandlesDeploy;
use Moose::Role;
+# ABSTRACT: Interface for deploy methods
+
requires 'prepare_install';
requires 'prepare_resultsource_install';
requires 'install_resultsource';
package DBIx::Class::DeploymentHandler::HandlesVersionStorage;
use Moose::Role;
+# ABSTRACT: Interface for version storage methods
+
requires 'add_database_version';
requires 'database_version';
requires 'delete_database_version';
package DBIx::Class::DeploymentHandler::HandlesVersioning;
use Moose::Role;
-# note: the sets returned need to match!
+# ABSTRACT: Interface for version methods
+
requires 'next_version_set';
requires 'previous_version_set';
use strict;
use warnings;
+# ABSTRACT: Types internal to DBIx::Class::DeploymentHandler
+
use Moose::Util::TypeConstraints;
subtype 'DBIx::Class::DeploymentHandler::Databases'
=> as 'ArrayRef[Str]';
package DBIx::Class::DeploymentHandler::VersionHandler::DatabaseToSchemaVersions;
use Moose;
+
+# ABSTRACT: Go straight from Database to Schema version
+
use Method::Signatures::Simple;
with 'DBIx::Class::DeploymentHandler::HandlesVersioning';
package DBIx::Class::DeploymentHandler::VersionHandler::ExplicitVersions;
use Moose;
+
+# ABSTRACT: Define your own list of versions to use for migrations
+
use Carp 'croak';
with 'DBIx::Class::DeploymentHandler::HandlesVersioning';
package DBIx::Class::DeploymentHandler::VersionHandler::Monotonic;
use Moose;
+
+# ABSTRACT: Obvious version progressions
+
use Carp 'croak';
with 'DBIx::Class::DeploymentHandler::HandlesVersioning';
package DBIx::Class::DeploymentHandler::VersionStorage::Deprecated;
use Moose;
+
+# ABSTRACT: (DEPRECATED) Use this if you are stuck in the past
+
use Method::Signatures::Simple;
has schema => (
package DBIx::Class::DeploymentHandler::VersionStorage::Standard;
use Moose;
+
+# ABSTRACT: Version storage that does the normal stuff
+
use Method::Signatures::Simple;
has schema => (
package DBIx::Class::DeploymentHandler::WithDatabaseToSchemaVersions;
use Moose::Role;
+# ABSTRACT: Delegate/Role for DBIx::Class::DeploymentHandler::VersionHandler::DatabaseToSchemaVersions
+
use DBIx::Class::DeploymentHandler::VersionHandler::DatabaseToSchemaVersions;
use Carp 'carp';
package DBIx::Class::DeploymentHandler::WithExplicitVersions;
use Moose::Role;
+# ABSTRACT: Delegate/Role for DBIx::Class::DeploymentHandler::VersionHandler::ExplicitVersions
+
use DBIx::Class::DeploymentHandler::VersionHandler::ExplicitVersions;
use Carp 'carp';
package DBIx::Class::DeploymentHandler::WithMonotonicVersions;
use Moose::Role;
+# ABSTRACT: Delegate/Role for DBIx::Class::DeploymentHandler::VersionHandler::Monotonic
+
use DBIx::Class::DeploymentHandler::VersionHandler::Monotonic;
has version_handler => (
package DBIx::Class::DeploymentHandler::WithReasonableDefaults;
use Moose::Role;
+# ABSTRACT: Make default arguments to a few methods sensible
+
requires qw( prepare_upgrade prepare_downgrade database_version schema_version );
around prepare_upgrade => sub {
package DBIx::Class::DeploymentHandler::WithSqltDeployMethod;
use Moose::Role;
+# ABSTRACT: Delegate/Role for DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator
+
use DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator;
has deploy_method => (
package DBIx::Class::DeploymentHandler::WithStandardVersionStorage;
use Moose::Role;
+# ABSTRACT: Delegate/Role for DBIx::Class::DeploymentHandler::VersionStorage::Standard
+
use DBIx::Class::DeploymentHandler::VersionStorage::Standard;
has version_storage => (