More doc
[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',
86e30368 26 ddl => $ddl, # can be undef
27 upgrade_sql => $sql, # can be undef
5228a963 28 });
29
30Store a new version into the version storage
96ef97e5 31
ed1721b9 32=method database_version
33
86e30368 34 my $db_version = $version_storage->database_version
35
36Returns the most recently installed version in the database.
ed1721b9 37
96ef97e5 38=method delete_database_version
39
5228a963 40 $dh->delete_database_version({ version => '1.02' })
41
86e30368 42Deletes given database version from the version storage
96ef97e5 43
44=method version_storage_is_installed
45
5228a963 46 warn q(I can't version this database!)
47 unless $dh->version_storage_is_installed
48
49return true iff the version storage is installed.
50
ed1721b9 51=head1 KNOWN IMPLEMENTATIONS
52
53=over
54
55=item *
56
57L<DBIx::Class::DeploymentHandler::VersionStorage::Standard>
58
59=item *
60
61L<DBIx::Class::DeploymentHandler::VersionStorage::Deprecated>
62
63=back
64