App-Sqitch

 view release on metacpan or  search on metacpan

lib/App/Sqitch/Command/upgrade.pm  view on Meta::CPAN

package App::Sqitch::Command::upgrade;

use 5.010;
use strict;
use warnings;
use utf8;
use Moo;
use App::Sqitch::Types qw(URI Maybe Str Bool HashRef);
use Locale::TextDomain qw(App-Sqitch);
use App::Sqitch::X qw(hurl);
use List::Util qw(first);
use namespace::autoclean;
extends 'App::Sqitch::Command';
with 'App::Sqitch::Role::ConnectingCommand';

our $VERSION = 'v1.6.1'; # VERSION

has target => (
    is  => 'ro',
    isa => Str,
);

sub options {
    return qw(
        target|t=s
    );
}

sub execute {
    my $self = shift;
    my ($targets) = $self->parse_args(
        target => $self->target,
        args   => \@_,
    );

    # Warn on multiple targets.
    my $target = shift @{ $targets };
    $self->warn(__x(
        'Too many targets specified; using {target}',
        target => $target->name,
    )) if @{ $targets };

    my $engine = $target->engine;

    if ($engine->needs_upgrade) {
        $self->info(__x(
            'Upgrading registry {registry} to version {version}',
            registry => $engine->registry_destination,
            version  => $engine->registry_release,
        ));
        $engine->upgrade_registry;
    } else {
        $self->info(__x(
            'Registry {registry} is up-to-date at version {version}',
            registry => $engine->registry_destination,
            version  => $engine->registry_release,
        ));
    }

    return $self;
}

1;

__END__

=head1 Name

App::Sqitch::Command::upgrade - Upgrade the Sqitch registry

=head1 Synopsis



( run in 0.622 second using v1.01-cache-2.11-cpan-5a3173703d6 )