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