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