nicer logging
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / VersionStorage / Standard.pm
CommitLineData
0905dc0e 1package DBIx::Class::DeploymentHandler::VersionStorage::Standard;
2use Moose;
8465e767 3use DBIx::Class::DeploymentHandler::Logger;
4use Log::Contextual ':log', -default_logger =>
5 DBIx::Class::DeploymentHandler::Logger->new({
6 env_prefix => 'DBICDH'
7 });
9deabd1f 8
9# ABSTRACT: Version storage that does the normal stuff
10
0905dc0e 11use Method::Signatures::Simple;
53de57ed 12use DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult;
0905dc0e 13
14has schema => (
15 isa => 'DBIx::Class::Schema',
16 is => 'ro',
17 required => 1,
18);
19
20has version_rs => (
21 isa => 'DBIx::Class::ResultSet',
22 is => 'ro',
53de57ed 23 builder => '_build_version_rs',
0905dc0e 24 handles => [qw( database_version version_storage_is_installed )],
25);
26
27with 'DBIx::Class::DeploymentHandler::HandlesVersionStorage';
28
29sub _build_version_rs {
6bbb6ce7 30 $_[0]->schema->register_class(
31 __VERSION =>
32 'DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult'
33 );
34 $_[0]->schema->resultset('__VERSION')
0905dc0e 35}
36
0df68524 37sub add_database_version {
38 my $version = $_[1]->{version};
39 log_debug { "[DBICDH] Adding database version $version" };
40 $_[0]->version_rs->create($_[1])
41}
0905dc0e 42
f344dd91 43sub delete_database_version {
0df68524 44 my $version = $_[1]->{version};
45 log_debug { "[DBICDH] Deleting database version $version" };
46 $_[0]->version_rs->search({ version => $version})->delete
f344dd91 47}
48
c9149a81 49__PACKAGE__->meta->make_immutable;
50
0905dc0e 511;
52
e52174e3 53# vim: ts=2 sw=2 expandtab
54
0905dc0e 55__END__
56