Remove isa check on schema attributes
[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;
c4f51462 4use Log::Contextual ':log', -package_logger =>
8465e767 5 DBIx::Class::DeploymentHandler::Logger->new({
6 env_prefix => 'DBICDH'
7 });
9deabd1f 8
9# ABSTRACT: Version storage that does the normal stuff
10
53de57ed 11use DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult;
0905dc0e 12
13has schema => (
0905dc0e 14 is => 'ro',
15 required => 1,
16);
17
18has version_rs => (
19 isa => 'DBIx::Class::ResultSet',
20 is => 'ro',
53de57ed 21 builder => '_build_version_rs',
0905dc0e 22 handles => [qw( database_version version_storage_is_installed )],
23);
24
25with 'DBIx::Class::DeploymentHandler::HandlesVersionStorage';
26
27sub _build_version_rs {
6bbb6ce7 28 $_[0]->schema->register_class(
29 __VERSION =>
30 'DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult'
31 );
32 $_[0]->schema->resultset('__VERSION')
0905dc0e 33}
34
0df68524 35sub add_database_version {
36 my $version = $_[1]->{version};
f4075791 37 log_debug { "Adding database version $version" };
0df68524 38 $_[0]->version_rs->create($_[1])
39}
0905dc0e 40
f344dd91 41sub delete_database_version {
0df68524 42 my $version = $_[1]->{version};
f4075791 43 log_debug { "Deleting database version $version" };
0df68524 44 $_[0]->version_rs->search({ version => $version})->delete
f344dd91 45}
46
c9149a81 47__PACKAGE__->meta->make_immutable;
48
0905dc0e 491;
50
e52174e3 51# vim: ts=2 sw=2 expandtab
52
0905dc0e 53__END__
54
ec167a97 55=head1 SEE ALSO
56
57This class is an implementation of
58L<DBIx::Class::DeploymentHandler::HandlesVersionStorage>. Pretty much all the
59documentation is there.