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;
14 isa => 'DBIx::Class::Schema',
20 isa => 'DBIx::Class::ResultSet',
22 builder => '_build_version_rs',
23 handles => [qw( database_version version_storage_is_installed )],
26 with 'DBIx::Class::DeploymentHandler::HandlesVersionStorage';
28 sub _build_version_rs {
29 $_[0]->schema->register_class(
31 'DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult'
33 $_[0]->schema->resultset('__VERSION')
36 sub add_database_version {
37 my $version = $_[1]->{version};
38 log_debug { "Adding database version $version" };
39 $_[0]->version_rs->create($_[1])
42 sub delete_database_version {
43 my $version = $_[1]->{version};
44 log_debug { "Deleting database version $version" };
45 $_[0]->version_rs->search({ version => $version})->delete
48 __PACKAGE__->meta->make_immutable;
52 # vim: ts=2 sw=2 expandtab
58 This class is an implementation of
59 L<DBIx::Class::DeploymentHandler::HandlesVersionStorage>. Pretty much all the
60 documentation is there.