package DBIx::Class::DeploymentHandler::HandlesVersionStorage;
use Moose::Role;
-requires 'database_version';
+# ABSTRACT: Interface for version storage methods
+
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
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