X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler%2FVersionStorage%2FStandard.pm;h=b1af275b395a1f8a6b424886979ad5b611205886;hb=refs%2Fheads%2Fmoo-port;hp=78265aa8d7b98aae7a8fe950a1327d69dd941734;hpb=c9149a81c148dd7e846c23f12ede8b69a93836cb;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler/VersionStorage/Standard.pm b/lib/DBIx/Class/DeploymentHandler/VersionStorage/Standard.pm index 78265aa..b1af275 100644 --- a/lib/DBIx/Class/DeploymentHandler/VersionStorage/Standard.pm +++ b/lib/DBIx/Class/DeploymentHandler/VersionStorage/Standard.pm @@ -1,17 +1,21 @@ package DBIx::Class::DeploymentHandler::VersionStorage::Standard; -use Moose; -use Method::Signatures::Simple; +use Moo; +use DBIx::Class::DeploymentHandler::LogImporter ':log'; +use DBIx::Class::DeploymentHandler::Types 'ResultSet'; + +# ABSTRACT: Version storage that does the normal stuff + +use DBIx::Class::DeploymentHandler::VersionStorage::Standard::VersionResult; has schema => ( - isa => 'DBIx::Class::Schema', is => 'ro', required => 1, ); has version_rs => ( - isa => 'DBIx::Class::ResultSet', + isa => ResultSet, is => 'ro', - lazy_build => 1, + builder => '_build_version_rs', handles => [qw( database_version version_storage_is_installed )], ); @@ -25,12 +29,26 @@ sub _build_version_rs { $_[0]->schema->resultset('__VERSION') } -sub add_database_version { $_[0]->version_rs->create($_[1]) } +sub add_database_version { + my $version = $_[1]->{version}; + log_debug { "Adding database version $version" }; + $_[0]->version_rs->create($_[1]) +} -__PACKAGE__->meta->make_immutable; +sub delete_database_version { + my $version = $_[1]->{version}; + log_debug { "Deleting database version $version" }; + $_[0]->version_rs->search({ version => $version})->delete +} 1; +# vim: ts=2 sw=2 expandtab + __END__ -vim: ts=2 sw=2 expandtab +=head1 SEE ALSO + +This class is an implementation of +L. Pretty much all the +documentation is there.