Port to Moo
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / HandlesVersionStorage.pm
index 9bf7a0f..847042a 100644 (file)
@@ -1,34 +1,47 @@
 package DBIx::Class::DeploymentHandler::HandlesVersionStorage;
-use Moose::Role;
+use Moo::Role;
+
+# ABSTRACT: Interface for version storage methods
 
-requires 'database_version';
 requires 'add_database_version';
+requires 'database_version';
 requires 'delete_database_version';
 requires 'version_storage_is_installed';
 
 1;
 
+# vim: ts=2 sw=2 expandtab
+
 __END__
 
-=method database_version
+=head1 DESCRIPTION
 
- my $db_version = $version_storage->database_version;
+Typically VersionStorages will be implemented with a simple
+DBIx::Class::Result.  Take a look at the
+L<two existing implementations|/KNOWN IMPLEMENTATIONS> for examples of what you
+might want to do in your own storage.
 
 =method add_database_version
 
  $dh->add_database_version({
    version     => '1.02',
-   ddl         => $ddl # can be undef,
-   upgrade_sql => $sql # can be undef,
+   ddl         => $ddl, # can be undef
+   upgrade_sql => $sql, # can be undef
  });
 
 Store a new version into the version storage
 
+=method database_version
+
+ my $db_version = $version_storage->database_version
+
+Returns the most recently installed version in the database.
+
 =method delete_database_version
 
  $dh->delete_database_version({ version => '1.02' })
 
-simply deletes given database version from the version storage
+Deletes given database version from the version storage
 
 =method version_storage_is_installed
 
@@ -37,5 +50,17 @@ simply deletes given database version from the version storage
 
 return true iff the version storage is installed.
 
+=head1 KNOWN IMPLEMENTATIONS
+
+=over
+
+=item *
+
+L<DBIx::Class::DeploymentHandler::VersionStorage::Standard>
+
+=item *
+
+L<DBIx::Class::DeploymentHandler::VersionStorage::Deprecated>
+
+=back
 
-vim: ts=2 sw=2 expandtab