1 package DBIx::Class::DeploymentHandler::VersionStorage::Standard;
3 use Log::Contextual::WarnLogger;
4 use Log::Contextual ':log', -default_logger => Log::Contextual::WarnLogger->new({
8 # ABSTRACT: Version storage that does the normal stuff
10 use Method::Signatures::Simple;
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 { "[DBICDH] Adding database version $version" };
39 $_[0]->version_rs->create($_[1])
42 sub delete_database_version {
43 my $version = $_[1]->{version};
44 log_debug { "[DBICDH] Deleting database version $version" };
45 $_[0]->version_rs->search({ version => $version})->delete
48 __PACKAGE__->meta->make_immutable;
52 # vim: ts=2 sw=2 expandtab