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