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