X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=dbsrgits%2FDBIx-Class-DeploymentHandler.git;a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler%2FVersionHandler%2FDatabaseToSchemaVersions.pm;h=28b3b860e7f9051dc0513bc06d146458dcd3b6a7;hp=7be88f4cc68179a97794395dd2961295e6a6960d;hb=97aa9a748e07c9e5875d56bd7d6554e481911c5d;hpb=b539a2166a39a25bb3d1d91b47909500b55b3ee6 diff --git a/lib/DBIx/Class/DeploymentHandler/VersionHandler/DatabaseToSchemaVersions.pm b/lib/DBIx/Class/DeploymentHandler/VersionHandler/DatabaseToSchemaVersions.pm index 7be88f4..28b3b86 100644 --- a/lib/DBIx/Class/DeploymentHandler/VersionHandler/DatabaseToSchemaVersions.pm +++ b/lib/DBIx/Class/DeploymentHandler/VersionHandler/DatabaseToSchemaVersions.pm @@ -1,6 +1,8 @@ package DBIx::Class::DeploymentHandler::VersionHandler::DatabaseToSchemaVersions; + use Moose; -use Method::Signatures::Simple; + +# ABSTRACT: Go straight from Database to Schema version with 'DBIx::Class::DeploymentHandler::HandlesVersioning'; @@ -18,8 +20,8 @@ has database_version => ( has to_version => ( # configuration is => 'ro', - lazy_build => 1, # builder comes from another role... - # which is... probably not how we want it + isa => 'Str', + lazy_build => 1, ); sub _build_to_version { $_[0]->schema_version } @@ -41,11 +43,28 @@ sub next_version_set { return [$self->database_version, $self->to_version]; } +sub previous_version_set { + my $self = shift; + return undef + if $self->once; + + $self->once(!$self->once); + return undef + if $self->database_version eq $self->to_version; + return [$self->database_version, $self->to_version]; +} + __PACKAGE__->meta->make_immutable; 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.