The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 013
LICENSE 44
MANIFEST 01
META.json 314
META.yml 2731
Makefile.PL 44
README 142
dist.ini 34
lib/DBIx/Class/DeploymentHandler/Cookbook/CustomResultSource.pod 74
lib/DBIx/Class/DeploymentHandler/Dad.pm 52
lib/DBIx/Class/DeploymentHandler/DeployMethod/SQL/Translator/Deprecated.pm 42
lib/DBIx/Class/DeploymentHandler/DeployMethod/SQL/Translator/ScriptHelpers.pm 54
lib/DBIx/Class/DeploymentHandler/DeployMethod/SQL/Translator.pm 916
lib/DBIx/Class/DeploymentHandler/Deprecated.pm 52
lib/DBIx/Class/DeploymentHandler/HandlesDeploy.pm 42
lib/DBIx/Class/DeploymentHandler/HandlesVersionStorage.pm 53
lib/DBIx/Class/DeploymentHandler/HandlesVersioning.pm 42
lib/DBIx/Class/DeploymentHandler/LogImporter.pm 251
lib/DBIx/Class/DeploymentHandler/LogRouter.pm 241
lib/DBIx/Class/DeploymentHandler/Logger.pm 251
lib/DBIx/Class/DeploymentHandler/Manual/CatalystIntro.pod 22
lib/DBIx/Class/DeploymentHandler/Manual/Intro.pod 22
lib/DBIx/Class/DeploymentHandler/Types.pm 42
lib/DBIx/Class/DeploymentHandler/VersionHandler/DatabaseToSchemaVersions.pm 42
lib/DBIx/Class/DeploymentHandler/VersionHandler/ExplicitVersions.pm 42
lib/DBIx/Class/DeploymentHandler/VersionHandler/Monotonic.pm 42
lib/DBIx/Class/DeploymentHandler/VersionStorage/Deprecated/Component.pm 52
lib/DBIx/Class/DeploymentHandler/VersionStorage/Deprecated/VersionResult.pm 52
lib/DBIx/Class/DeploymentHandler/VersionStorage/Deprecated/VersionResultSet.pm 52
lib/DBIx/Class/DeploymentHandler/VersionStorage/Deprecated.pm 42
lib/DBIx/Class/DeploymentHandler/VersionStorage/Standard/Component.pm 52
lib/DBIx/Class/DeploymentHandler/VersionStorage/Standard/VersionResult.pm 52
lib/DBIx/Class/DeploymentHandler/VersionStorage/Standard/VersionResultSet.pm 52
lib/DBIx/Class/DeploymentHandler/VersionStorage/Standard.pm 42
lib/DBIx/Class/DeploymentHandler/WithApplicatorDumple.pm 221
lib/DBIx/Class/DeploymentHandler/WithReasonableDefaults.pm 42
lib/DBIx/Class/DeploymentHandler.pm 544
t/10-split-sql-chunk.t 14
t/release-pod-syntax.t 32
39 files changed (This is a version diff) 257234
@@ -1,5 +1,18 @@
 Revision history for DBIx-Class-DeploymentHandler
 
+0.002212  2014-10-11 15:04:22-05:00 America/Chicago
+ - Add some nice documentation on overall structure
+
+0.002211  2014-05-15 20:06:48-05:00 America/Chicago
+  - Fix some missing ABSTRACTs (Fixes GH#22, thanks Gregor Herrmann!)
+
+0.002210  2014-01-31 09:35:27 America/Chicago
+  - Make source order stable to avoid non-changes in git (fixes RT#92580)
+  - Ensure that sqltargs are passed to deploy when ignore_ddl is set
+    (fixes RT#92373)
+  - Correctly strip lines that are all whitespace (fixes RT#92582)
+  - Ditch RT
+
 0.002209  2013-12-27 18:08:31 America/Chicago
   - stop using Class::MOP::load_class (RT#91003)
 
@@ -1,4 +1,4 @@
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is Copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software, licensed under:
 
@@ -22,7 +22,7 @@ This is free software, licensed under:
                      Version 1, February 1989
 
  Copyright (C) 1989 Free Software Foundation, Inc.
- 51 Franklin St, Suite 500, Boston, MA  02110-1335  USA
+ 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
@@ -272,7 +272,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is Copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software, licensed under:
 
@@ -1,3 +1,4 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.020.
 Changes
 LICENSE
 MANIFEST
@@ -4,7 +4,7 @@
       "Arthur Axel \"fREW\" Schmidt <frioux+cpan@gmail.com>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830",
+   "generated_by" : "Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.142060",
    "license" : [
       "perl_5"
    ],
@@ -16,7 +16,7 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "6.30"
+            "ExtUtils::MakeMaker" : "0"
          }
       },
       "develop" : {
@@ -56,6 +56,17 @@
       }
    },
    "release_status" : "stable",
-   "version" : "0.002209"
+   "resources" : {
+      "bugtracker" : {
+         "web" : "https://github.com/frioux/DBIx-Class-DeploymentHandler/issues"
+      },
+      "homepage" : "https://github.com/frioux/DBIx-Class-DeploymentHandler",
+      "repository" : {
+         "type" : "git",
+         "url" : "https://github.com/frioux/DBIx-Class-DeploymentHandler.git",
+         "web" : "https://github.com/frioux/DBIx-Class-DeploymentHandler"
+      }
+   },
+   "version" : "0.002212"
 }
 
@@ -1,38 +1,42 @@
 ---
 abstract: 'Extensible DBIx::Class deployment'
 author:
-  - "Arthur Axel \"fREW\" Schmidt <frioux+cpan@gmail.com>"
+  - 'Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>'
 build_requires:
-  DBD::SQLite: 1.35
-  File::Temp: 0
-  Test::Fatal: 0.006
-  Test::More: 0.88
-  Test::Requires: 0.06
-  aliased: 0
+  DBD::SQLite: '1.35'
+  File::Temp: '0'
+  Test::Fatal: '0.006'
+  Test::More: '0.88'
+  Test::Requires: '0.06'
+  aliased: '0'
 configure_requires:
-  ExtUtils::MakeMaker: 6.30
+  ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830'
+generated_by: 'Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.142060'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
+  version: '1.4'
 name: DBIx-Class-DeploymentHandler
 requires:
-  Carp: 0
-  Carp::Clan: 0
-  Context::Preserve: 0.01
-  DBIx::Class: 0.08121
-  Log::Contextual: 0.005005
-  Moo: 1.003
-  Moose: 1
-  MooseX::Role::Parameterized: 0.18
-  Path::Class: 0.26
-  SQL::Translator: 0.11005
-  Sub::Exporter::Progressive: 0
-  Text::Brew: 0.02
-  Try::Tiny: 0
-  autodie: 0
-  namespace::autoclean: 0
-  parent: 0.225
-version: 0.002209
+  Carp: '0'
+  Carp::Clan: '0'
+  Context::Preserve: '0.01'
+  DBIx::Class: '0.08121'
+  Log::Contextual: '0.005005'
+  Moo: '1.003'
+  Moose: '1'
+  MooseX::Role::Parameterized: '0.18'
+  Path::Class: '0.26'
+  SQL::Translator: '0.11005'
+  Sub::Exporter::Progressive: '0'
+  Text::Brew: '0.02'
+  Try::Tiny: '0'
+  autodie: '0'
+  namespace::autoclean: '0'
+  parent: '0.225'
+resources:
+  bugtracker: https://github.com/frioux/DBIx-Class-DeploymentHandler/issues
+  homepage: https://github.com/frioux/DBIx-Class-DeploymentHandler
+  repository: https://github.com/frioux/DBIx-Class-DeploymentHandler.git
+version: '0.002212'
@@ -1,19 +1,19 @@
 
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.020.
 use strict;
 use warnings;
 
 
 
-use ExtUtils::MakeMaker 6.30;
+use ExtUtils::MakeMaker ;
 
 
 
 my %WriteMakefileArgs = (
   "ABSTRACT" => "Extensible DBIx::Class deployment",
   "AUTHOR" => "Arthur Axel \"fREW\" Schmidt <frioux+cpan\@gmail.com>",
-  "BUILD_REQUIRES" => {},
   "CONFIGURE_REQUIRES" => {
-    "ExtUtils::MakeMaker" => "6.30"
+    "ExtUtils::MakeMaker" => 0
   },
   "DISTNAME" => "DBIx-Class-DeploymentHandler",
   "EXE_FILES" => [],
@@ -45,7 +45,7 @@ my %WriteMakefileArgs = (
     "Test::Requires" => "0.06",
     "aliased" => 0
   },
-  "VERSION" => "0.002209",
+  "VERSION" => "0.002212",
   "test" => {
     "TESTS" => "t/*.t t/bugs/*.t t/deploy_methods/*.t t/version_handlers/*.t t/version_storages/*.t"
   }
@@ -74,6 +74,47 @@ WHERE IS ALL THE DOC?!
     DBIx::Class::DeploymentHandler::VersionStorage::Standard, and
     DBIx::Class::DeploymentHandler::WithReasonableDefaults.
 
+WHY IS THIS SO WEIRD
+    "DBIx::Class::DeploymentHandler" has a strange structure. The gist is
+    that it delegates to three small objects that are proxied to via
+    interface roles that then create the illusion of one large, monolithic
+    object. Here is a diagram that might help:
+
+                        +------------+
+                        |            |
+           +------------+ Deployment +-----------+
+           |            |  Handler   |           |
+           |            |            |           |
+           |            +-----+------+           |
+           |                  |                  |
+           |                  |                  |
+           :                  :                  :
+           v                  v                  v
+      /-=-------\        /-=-------\       /-=----------\
+      |         |        |         |       |            |  (interface roles)
+      | Handles |        | Handles |       |  Handles   |
+      | Version |        | Deploy  |       | Versioning |
+      | Storage |        |         |       |            |
+      |         |        \-+--+--+-/       \-+---+---+--/
+      \-+--+--+-/          |  |  |           |   |   |
+        |  |  |            |  |  |           |   |   |
+        |  |  |            |  |  |           |   |   |
+        v  v  v            v  v  v           v   v   v
+     +----------+        +--------+        +-----------+
+     |          |        |        |        |           |  (implementations)
+     | Version  |        | Deploy |        |  Version  |
+     | Storage  |        | Method |        |  Handler  |
+     | Standard |        | SQLT   |        | Monotonic |
+     |          |        |        |        |           |
+     +----------+        +--------+        +-----------+
+
+    The nice thing about this is that we have well defined interfaces for
+    the objects that comprise the "DeploymentHandler", the smaller objects
+    can be tested in isolation, and the smaller objects can even be swapped
+    in easily. But the real win is that you can subclass the
+    "DeploymentHandler" without knowing about the underlying delegation; you
+    just treat it like normal Perl and write methods that do what you want.
+
 THIS SUCKS
     You started your project and weren't using
     "DBIx::Class::DeploymentHandler"? Lucky for you I had you in mind when I
@@ -149,7 +190,7 @@ AUTHOR
     Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 COPYRIGHT AND LICENSE
-    This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+    This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
     This is free software; you can redistribute it and/or modify it under
     the same terms as the Perl 5 programming language system itself.
@@ -2,16 +2,17 @@ name             = DBIx-Class-DeploymentHandler
 author           = Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 license          = Perl_5
 copyright_holder = Arthur Axel "fREW" Schmidt
-version          = 0.002209
+version          = 0.002212
 
 [NextRelease]
 [@Git]
 [@Basic]
 [GithubMeta]
+issues = 1
+
 [MetaJSON]
-[PodWeaver]
+[PickyPodWeaver]
 [PkgVersion]
 [ReadmeFromPod]
 [PodSyntaxTests]
-
 [Prereqs::FromCPANfile]
@@ -1,4 +1,6 @@
 package DBIx::Class::DeploymentHandler::Cookbook::CustomResultSource;
+$DBIx::Class::DeploymentHandler::Cookbook::CustomResultSource::VERSION = '0.002212';
+# ABSTRACT: Customize how your DBICDH versions are stored
 
 __END__
 
@@ -6,7 +8,7 @@ __END__
 
 =head1 NAME
 
-DBIx::Class::DeploymentHandler::Cookbook::CustomResultSource
+DBIx::Class::DeploymentHandler::Cookbook::CustomResultSource - Customize how your DBICDH versions are stored
 
 =head1 DESCRIPTION
 
@@ -114,18 +116,13 @@ Monotonic ( which handles integer only version numbers ) to ExplicitVersions
 or DatabaseToSchemaVersions, as these handle version numbers as strings
 instead of integers.
 
-=head1 NAME
-
-DBIx::Class::DeploymentHandler::Cookbook::CustomResultSource - Customize how
-your DBICDH versions are stored
-
 =head1 AUTHOR
 
 Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::Dad;
-{
-  $DBIx::Class::DeploymentHandler::Dad::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::Dad::VERSION = '0.002212';
 # ABSTRACT: Parent class for DeploymentHandlers
 
 use Moose;
@@ -266,7 +263,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated;
-{
-  $DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::Deprecated::VERSION = '0.002212';
 use Moose;
 
 # ABSTRACT: (DEPRECATED) Use this if you are stuck in the past
@@ -127,7 +125,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,6 @@
 package DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::ScriptHelpers;
-{
-  $DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::ScriptHelpers::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::ScriptHelpers::VERSION = '0.002212';
+# ABSTRACT: CodeRef Transforms for common use-cases in DBICDH Migrations
 
 use strict;
 use warnings;
@@ -102,7 +101,7 @@ __END__
 
 =head1 NAME
 
-DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::ScriptHelpers
+DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::ScriptHelpers - CodeRef Transforms for common use-cases in DBICDH Migrations
 
 =head1 SYNOPSIS
 
@@ -158,7 +157,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator;
-{
-  $DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator::VERSION = '0.002212';
 use Moose;
 
 # ABSTRACT: Manage your SQL and Perl migrations in nicely laid out directories
@@ -267,19 +265,20 @@ sub _split_sql_chunk {
         s/^(?:BEGIN|BEGIN TRANSACTION|COMMIT).*//mgi;
 
         # trim whitespaces
-        s/^\s+|\s+$//mg;
+        s/^\s+//gm;
+        s/\s+$//gm;
 
         # remove comments
         s/^--.*//gm;
 
         # remove blank lines
-        s/^\n//mg;
+        s/^\n//gm;
 
         # put on single line
         s/\n/ /g;
     }
 
-    return @sql;
+    return grep $_, @sql;
 }
 
 sub _run_sql {
@@ -290,6 +289,7 @@ sub _run_sql {
 
 sub _load_sandbox {
   my $_file = shift;
+  $_file = "$_file";
 
   my $_package = $_file;
   $_package =~ s/([^A-Za-z0-9_])/sprintf("_%2x", ord($1))/eg;
@@ -362,8 +362,9 @@ sub deploy {
   log_info { "deploying version $version" };
   my $sqlt_type = $self->storage->sqlt_type;
   my $sql;
+  my $sqltargs = $self->sql_translator_args;
   if ($self->ignore_ddl) {
-     $sql = $self->_sql_from_yaml({},
+     $sql = $self->_sql_from_yaml($sqltargs,
        '_ddl_protoschema_deploy_consume_filenames', $sqlt_type
      );
   }
@@ -592,7 +593,13 @@ sub prepare_deploy {
   my $self = shift;
   $self->prepare_protoschema({
       # Exclude __VERSION so that it gets installed separately
-      parser_args => { sources => [grep { $_ ne '__VERSION' } $self->schema->sources], }
+      parser_args => {
+         sources => [
+            sort { $a cmp $b }
+            grep { $_ ne '__VERSION' }
+            $self->schema->sources
+         ],
+      }
   }, '_ddl_protoschema_produce_filename');
   $self->_prepare_install({}, '_ddl_protoschema_produce_filename', '_ddl_schema_produce_filename');
 }
@@ -1003,7 +1010,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::Deprecated;
-{
-  $DBIx::Class::DeploymentHandler::Deprecated::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::Deprecated::VERSION = '0.002212';
 # ABSTRACT: (DEPRECATED) Use this if you are stuck in the past
 
 use Moose;
@@ -134,7 +131,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::HandlesDeploy;
-{
-  $DBIx::Class::DeploymentHandler::HandlesDeploy::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::HandlesDeploy::VERSION = '0.002212';
 use Moose::Role;
 
 # ABSTRACT: Interface for deploy methods
@@ -147,7 +145,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::HandlesVersionStorage;
-{
-  $DBIx::Class::DeploymentHandler::HandlesVersionStorage::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::HandlesVersionStorage::VERSION = '0.002212';
 use Moose::Role;
 
 # ABSTRACT: Interface for version storage methods
@@ -73,7 +71,7 @@ Deletes given database version from the version storage
  warn q(I can't version this database!)
    unless $dh->version_storage_is_installed
 
-return true iff the version storage is installed.
+return true if the version storage is installed.
 
 =head1 AUTHOR
 
@@ -81,7 +79,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::HandlesVersioning;
-{
-  $DBIx::Class::DeploymentHandler::HandlesVersioning::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::HandlesVersioning::VERSION = '0.002212';
 use Moose::Role;
 
 # ABSTRACT: Interface for version methods
@@ -147,7 +145,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::LogImporter;
-{
-  $DBIx::Class::DeploymentHandler::LogImporter::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::LogImporter::VERSION = '0.002212';
 use warnings;
 use strict;
 
@@ -16,24 +13,3 @@ use DBIx::Class::DeploymentHandler::LogRouter;
 }
 
 1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-DBIx::Class::DeploymentHandler::LogImporter
-
-=head1 AUTHOR
-
-Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
-
-=head1 COPYRIGHT AND LICENSE
-
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
-
-This is free software; you can redistribute it and/or modify it under
-the same terms as the Perl 5 programming language system itself.
-
-=cut
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::LogRouter;
-{
-  $DBIx::Class::DeploymentHandler::LogRouter::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::LogRouter::VERSION = '0.002212';
 use Moo;
 use DBIx::Class::DeploymentHandler::Logger;
 
@@ -32,24 +30,3 @@ sub before_import {}
 sub after_import {}
 
 1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-DBIx::Class::DeploymentHandler::LogRouter
-
-=head1 AUTHOR
-
-Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
-
-=head1 COPYRIGHT AND LICENSE
-
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
-
-This is free software; you can redistribute it and/or modify it under
-the same terms as the Perl 5 programming language system itself.
-
-=cut
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::Logger;
-{
-  $DBIx::Class::DeploymentHandler::Logger::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::Logger::VERSION = '0.002212';
 use warnings;
 use strict;
 
@@ -50,24 +47,3 @@ sub new {
 }
 
 1;
-
-__END__
-
-=pod
-
-=head1 NAME
-
-DBIx::Class::DeploymentHandler::Logger
-
-=head1 AUTHOR
-
-Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
-
-=head1 COPYRIGHT AND LICENSE
-
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
-
-This is free software; you can redistribute it and/or modify it under
-the same terms as the Perl 5 programming language system itself.
-
-=cut
@@ -1,5 +1,5 @@
 package DBIx::Class::DeploymentHandler::Manual::CatalystIntro
-
+$DBIx::Class::DeploymentHandler::Manual::CatalystIntro::VERSION = '0.002212';
 # ABSTRACT: Introduction to using DBIx::Class::DeploymentHandler with a new Catalyst Project
 
 __END__
@@ -249,7 +249,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,5 +1,5 @@
 package DBIx::Class::DeploymentHandler::Manual::Intro
-
+$DBIx::Class::DeploymentHandler::Manual::Intro::VERSION = '0.002212';
 # ABSTRACT: Introduction to DBIx::Class::DeploymentHandler
 
 __END__
@@ -204,7 +204,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::Types;
-{
-  $DBIx::Class::DeploymentHandler::Types::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::Types::VERSION = '0.002212';
 use strict;
 use warnings;
 
@@ -42,7 +40,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionHandler::DatabaseToSchemaVersions;
-{
-  $DBIx::Class::DeploymentHandler::VersionHandler::DatabaseToSchemaVersions::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::VersionHandler::DatabaseToSchemaVersions::VERSION = '0.002212';
 use Moose;
 
 # ABSTRACT: Go straight from Database to Schema version
@@ -83,7 +81,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionHandler::ExplicitVersions;
-{
-  $DBIx::Class::DeploymentHandler::VersionHandler::ExplicitVersions::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::VersionHandler::ExplicitVersions::VERSION = '0.002212';
 use Moose;
 
 # ABSTRACT: Define your own list of versions to use for migrations
@@ -129,7 +127,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionHandler::Monotonic;
-{
-  $DBIx::Class::DeploymentHandler::VersionHandler::Monotonic::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::VersionHandler::Monotonic::VERSION = '0.002212';
 use Moose;
 
 # ABSTRACT: Obvious version progressions
@@ -95,7 +93,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::Component;
-{
-  $DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::Component::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::Component::VERSION = '0.002212';
 # ABSTRACT: (DEPRECATED) Attach this component to your schema to ensure you stay up to date
 
 use strict;
@@ -64,7 +61,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VersionResult;
-{
-  $DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VersionResult::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VersionResult::VERSION = '0.002212';
 # ABSTRACT: (DEPRECATED) The old way to store versions in the database
 
 use strict;
@@ -54,7 +51,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VersionResultSet;
-{
-  $DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VersionResultSet::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VersionResultSet::VERSION = '0.002212';
 # ABSTRACT: (DEPRECATED) Predefined searches to find what you want from the version storage
 
 use strict;
@@ -87,7 +84,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionStorage::Deprecated;
-{
-  $DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::VersionStorage::Deprecated::VERSION = '0.002212';
 use Moose;
 use DBIx::Class::DeploymentHandler::LogImporter ':log';
 
@@ -100,7 +98,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionStorage::Standard::Component;
-{
-  $DBIx::Class::DeploymentHandler::VersionStorage::Standard::Component::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::VersionStorage::Standard::Component::VERSION = '0.002212';
 # ABSTRACT: Attach this component to your schema to ensure you stay up to date
 
 use strict;
@@ -57,7 +54,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult;
-{
-  $DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult::VERSION = '0.002212';
 # ABSTRACT: The typical way to store versions in the database
 
 use strict;
@@ -55,7 +52,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResultSet;
-{
-  $DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResultSet::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResultSet::VERSION = '0.002212';
 # ABSTRACT: Predefined searches to find what you want from the version storage
 
 use strict;
@@ -53,7 +50,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::VersionStorage::Standard;
-{
-  $DBIx::Class::DeploymentHandler::VersionStorage::Standard::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::VersionStorage::Standard::VERSION = '0.002212';
 use Moose;
 use DBIx::Class::DeploymentHandler::LogImporter ':log';
 
@@ -69,7 +67,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::WithApplicatorDumple;
-{
-  $DBIx::Class::DeploymentHandler::WithApplicatorDumple::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::WithApplicatorDumple::VERSION = '0.002212';
 use MooseX::Role::Parameterized;
 use Module::Runtime 'use_module';
 use namespace::autoclean;
@@ -73,22 +71,3 @@ role {
 # vim: ts=2 sw=2 expandtab
 
 __END__
-
-=pod
-
-=head1 NAME
-
-DBIx::Class::DeploymentHandler::WithApplicatorDumple
-
-=head1 AUTHOR
-
-Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
-
-=head1 COPYRIGHT AND LICENSE
-
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
-
-This is free software; you can redistribute it and/or modify it under
-the same terms as the Perl 5 programming language system itself.
-
-=cut
@@ -1,7 +1,5 @@
 package DBIx::Class::DeploymentHandler::WithReasonableDefaults;
-{
-  $DBIx::Class::DeploymentHandler::WithReasonableDefaults::VERSION = '0.002209';
-}
+$DBIx::Class::DeploymentHandler::WithReasonableDefaults::VERSION = '0.002212';
 use Moose::Role;
 
 # ABSTRACT: Make default arguments to a few methods sensible
@@ -86,7 +84,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,8 +1,5 @@
 package DBIx::Class::DeploymentHandler;
-{
-  $DBIx::Class::DeploymentHandler::VERSION = '0.002209';
-}
-
+$DBIx::Class::DeploymentHandler::VERSION = '0.002212';
 # ABSTRACT: Extensible DBIx::Class deployment
 
 use Moose;
@@ -163,6 +160,48 @@ L<DBIx::Class::DeploymentHandler::VersionHandler::Monotonic>,
 L<DBIx::Class::DeploymentHandler::VersionStorage::Standard>, and
 L<DBIx::Class::DeploymentHandler::WithReasonableDefaults>.
 
+=head1 WHY IS THIS SO WEIRD
+
+C<DBIx::Class::DeploymentHandler> has a strange structure.  The gist is that it
+delegates to three small objects that are proxied to via interface roles that
+then create the illusion of one large, monolithic object.  Here is a diagram
+that might help:
+
+                    +------------+
+                    |            |
+       +------------+ Deployment +-----------+
+       |            |  Handler   |           |
+       |            |            |           |
+       |            +-----+------+           |
+       |                  |                  |
+       |                  |                  |
+       :                  :                  :
+       v                  v                  v
+  /-=-------\        /-=-------\       /-=----------\
+  |         |        |         |       |            |  (interface roles)
+  | Handles |        | Handles |       |  Handles   |
+  | Version |        | Deploy  |       | Versioning |
+  | Storage |        |         |       |            |
+  |         |        \-+--+--+-/       \-+---+---+--/
+  \-+--+--+-/          |  |  |           |   |   |
+    |  |  |            |  |  |           |   |   |
+    |  |  |            |  |  |           |   |   |
+    v  v  v            v  v  v           v   v   v
+ +----------+        +--------+        +-----------+
+ |          |        |        |        |           |  (implementations)
+ | Version  |        | Deploy |        |  Version  |
+ | Storage  |        | Method |        |  Handler  |
+ | Standard |        | SQLT   |        | Monotonic |
+ |          |        |        |        |           |
+ +----------+        +--------+        +-----------+
+
+The nice thing about this is that we have well defined interfaces for the
+objects that comprise the C<DeploymentHandler>, the smaller objects can be
+tested in isolation, and the smaller objects can even be swapped in easily.  But
+the real win is that you can subclass the C<DeploymentHandler> without knowing
+about the underlying delegation; you just treat it like normal Perl and write
+methods that do what you want.
+
 =head1 THIS SUCKS
 
 You started your project and weren't using C<DBIx::Class::DeploymentHandler>?
@@ -243,7 +282,7 @@ Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2013 by Arthur Axel "fREW" Schmidt.
+This software is copyright (c) 2014 by Arthur Axel "fREW" Schmidt.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 1;
+use Test::More;
 
 use DBIx::Class::DeploymentHandler::DeployMethod::SQL::Translator;
 
@@ -15,3 +15,6 @@ BEGIN
 END;
 END
 
+is_deeply [ split_sql_chunk( 'foo', ' ', 'bar' ) ], [qw( foo bar)];
+
+done_testing;
@@ -7,9 +7,8 @@ BEGIN {
   }
 }
 
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
 use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+use Test::Pod 1.41;
 
 all_pod_files_ok();