faster travis builds
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / Cookbook / CustomResultSource.pod
index eeea7c4..e9e694c 100644 (file)
@@ -1,7 +1,11 @@
 package DBIx::Class::DeploymentHandler::Cookbook::CustomResultSource;
 
+# ABSTRACT: Customize how your DBICDH versions are stored
+
 =pod
 
+=head1 DESCRIPTION
+
 One of the reasons for the absurd level of flexibility that
 L<DBIx::Class::DeploymentHandler> is so that you can do things that we did not
 originally anticipate.  Surprisingly, I never added a method to change the
@@ -11,6 +15,10 @@ shows how one can do it in style:
 =head2 Version Storage
 
  package MyApp::Schema::DBICDHStorage;
+ # the following is necessary for some setups
+ use MyApp::Schema::DBICDHStorageResult;
  use Moose;
  extends 'DBIx::Class::DeploymentHandler::VersionStorage::Standard';
 
@@ -72,17 +80,19 @@ table being set on the original result.
  sub prepare_version_storage_install {
    my $self = shift;
 
-   $self->prepare_resultsource_install(
-     $self->version_storage->version_rs->result_source
-   );
+   $self->prepare_resultsource_install({
+       result_source => $self->version_storage->version_rs->result_source
+   });
  }
 
  sub install_version_storage {
    my $self = shift;
 
-   $self->install_resultsource(
-     $self->version_storage->version_rs->result_source
-   );
+   my $version = (shift || {})->{version} || $self->schema_version;
+   $self->install_resultsource({
+       result_source => $self->version_storage->version_rs->result_source,
+       version       => $version,
+   });
  }
 
  sub prepare_install {
@@ -94,3 +104,9 @@ table being set on the original result.
  __PACKAGE__->meta->make_immutable;
  1;
 
+Note: if you are using decimal numbers for versioning, you should ammend
+this DeploymentHandler package, setting it's VersionHandler class_name from
+Monotonic ( which handles integer only version numbers ) to ExplicitVersions
+or DatabaseToSchemaVersions, as these handle version numbers as strings
+instead of integers.
+