1 package DBIx::Class::DeploymentHandler::VersionStorage::Standard;
3 use DBIx::Class::DeploymentHandler::Logger;
4 use Log::Contextual ':log', -package_logger =>
5 DBIx::Class::DeploymentHandler::Logger->new({
9 # ABSTRACT: Version storage that does the normal stuff
11 use DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult;
19 isa => 'DBIx::Class::ResultSet',
21 builder => '_build_version_rs',
22 handles => [qw( database_version version_storage_is_installed )],
25 with 'DBIx::Class::DeploymentHandler::HandlesVersionStorage';
27 sub _build_version_rs {
28 $_[0]->schema->register_class(
30 'DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult'
32 $_[0]->schema->resultset('__VERSION')
35 sub add_database_version {
36 my $version = $_[1]->{version};
37 log_debug { "Adding database version $version" };
38 $_[0]->version_rs->create($_[1])
41 sub delete_database_version {
42 my $version = $_[1]->{version};
43 log_debug { "Deleting database version $version" };
44 $_[0]->version_rs->search({ version => $version})->delete
47 __PACKAGE__->meta->make_immutable;
51 # vim: ts=2 sw=2 expandtab
57 This class is an implementation of
58 L<DBIx::Class::DeploymentHandler::HandlesVersionStorage>. Pretty much all the
59 documentation is there.