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 Method::Signatures::Simple;
12 use DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult;
15 isa => 'DBIx::Class::Schema',
21 isa => 'DBIx::Class::ResultSet',
23 builder => '_build_version_rs',
24 handles => [qw( database_version version_storage_is_installed )],
27 with 'DBIx::Class::DeploymentHandler::HandlesVersionStorage';
29 sub _build_version_rs {
30 $_[0]->schema->register_class(
32 'DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult'
34 $_[0]->schema->resultset('__VERSION')
37 sub add_database_version {
38 my $version = $_[1]->{version};
39 log_debug { "Adding database version $version" };
40 $_[0]->version_rs->create($_[1])
43 sub delete_database_version {
44 my $version = $_[1]->{version};
45 log_debug { "Deleting database version $version" };
46 $_[0]->version_rs->search({ version => $version})->delete
49 __PACKAGE__->meta->make_immutable;
53 # vim: ts=2 sw=2 expandtab