1 package DBIx::Class::DeploymentHandler::VersionStorage::Standard;
3 use DBIx::Class::DeploymentHandler::LogImporter ':log';
5 # ABSTRACT: Version storage that does the normal stuff
7 use DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult;
15 isa => 'DBIx::Class::ResultSet',
17 builder => '_build_version_rs',
18 handles => [qw( database_version version_storage_is_installed )],
21 with 'DBIx::Class::DeploymentHandler::HandlesVersionStorage';
23 sub _build_version_rs {
24 $_[0]->schema->register_class(
26 'DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult'
28 $_[0]->schema->resultset('__VERSION')
31 sub add_database_version {
32 my $version = $_[1]->{version};
33 log_debug { "Adding database version $version" };
34 $_[0]->version_rs->create($_[1])
37 sub delete_database_version {
38 my $version = $_[1]->{version};
39 log_debug { "Deleting database version $version" };
40 $_[0]->version_rs->search({ version => $version})->delete
43 __PACKAGE__->meta->make_immutable;
47 # vim: ts=2 sw=2 expandtab
53 This class is an implementation of
54 L<DBIx::Class::DeploymentHandler::HandlesVersionStorage>. Pretty much all the
55 documentation is there.