package DBIx::Class::DeploymentHandler::Dad;
+# ABSTRACT: Parent class for DeploymentHandlers
+
use Moose;
use Method::Signatures::Simple;
require DBIx::Class::Schema; # loaded for type constraint
1;
+# vim: ts=2 sw=2 expandtab
+
+__END__
+
=pod
=attr schema
=attr backup_directory
-The directory that backups are stored in
+The directory where backups are stored
=attr to_version
$dh->downgrade
Downgrades the database one step at a time till L</previous_version_set>
-returns C<undef>. Each downgrade step will delete a C<version>from the
+returns C<undef>. Each downgrade step will delete a C<version> from the
version storage.
=method backup
other subclasses (or more likely, tools made to use another subclass), you
should probably implement these too, even if they are no-ops.
-The methods are:
-
=head2 database_version
see L<DBIx::Class::DeploymentHandler::HandlesVersionStorage/database_version>
=head2 prepare_resultsource_install
-see L<DBIx::Class::DeploymentHandler::HandlesDeploy/prepare_resultsouce_install>
+see L<DBIx::Class::DeploymentHandler::HandlesDeploy/prepare_resultsource_install>
=head2 install_resultsource
see L<DBIx::Class::DeploymentHandler::HandlesDeploy/prepare_downgrade>
-=back
+=head2 SUBCLASSING
+All of the methods mentioned in L</METHODS THAT ARE REQUIRED IN SUBCLASSES> and
+L</ORTHODOX METHODS> can be implemented in any fashion you choose. In the
+spirit of code reuse I have used roles to implement them in my two subclasses,
+L<DBIx::Class::DeploymentHandler> and
+L<DBIx::Class::DeploymentHandler::Deprecated>, but you are free to implement
+them entirely in a subclass if you so choose to.
-__END__
+For in-depth documentation on how methods are supposed to work, see the roles
+L<DBIx::Class::DeploymentHandler::HandlesDeploy>,
+L<DBIx::Class::DeploymentHandler::HandlesVersioning>, and
+L<DBIx::Class::DeploymentHandler::HandlesVersionStorage>.
-vim: ts=2 sw=2 expandtab