Add a few missing ABSTRACTs
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / HandlesVersionStorage.pm
CommitLineData
0905dc0e 1package DBIx::Class::DeploymentHandler::HandlesVersionStorage;
2use Moose::Role;
3
9deabd1f 4# ABSTRACT: Interface for version storage methods
5
0905dc0e 6requires 'add_database_version';
ed1721b9 7requires 'database_version';
f344dd91 8requires 'delete_database_version';
0905dc0e 9requires 'version_storage_is_installed';
10
111;
12
a65184c8 13# vim: ts=2 sw=2 expandtab
14
15__END__
0905dc0e 16
ed1721b9 17=head1 DESCRIPTION
96ef97e5 18
ed1721b9 19Typically VersionStorages will be implemented with a simple
20DBIx::Class::Result. Take a look at the
21L<two existing implementations|/KNOWN IMPLEMENTATIONS> for examples of what you
22might want to do in your own storage.
96ef97e5 23
24=method add_database_version
25
5228a963 26 $dh->add_database_version({
27 version => '1.02',
86e30368 28 ddl => $ddl, # can be undef
29 upgrade_sql => $sql, # can be undef
5228a963 30 });
31
32Store a new version into the version storage
96ef97e5 33
ed1721b9 34=method database_version
35
86e30368 36 my $db_version = $version_storage->database_version
37
38Returns the most recently installed version in the database.
ed1721b9 39
96ef97e5 40=method delete_database_version
41
5228a963 42 $dh->delete_database_version({ version => '1.02' })
43
86e30368 44Deletes given database version from the version storage
96ef97e5 45
46=method version_storage_is_installed
47
5228a963 48 warn q(I can't version this database!)
49 unless $dh->version_storage_is_installed
50
51return true iff the version storage is installed.
52
ed1721b9 53=head1 KNOWN IMPLEMENTATIONS
54
55=over
56
57=item *
58
59L<DBIx::Class::DeploymentHandler::VersionStorage::Standard>
60
61=item *
62
63L<DBIx::Class::DeploymentHandler::VersionStorage::Deprecated>
64
65=back
66