diff --git a/README.md b/README.md index 78ced86..1c23731 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ or not. ``` git pull chmod -R a+rX . # only needed if travelynx is running under a different user -if perl index.pl database has-current-schema | grep -Fq yes; then +if perl index.pl database has-current-schema; then systemctl reload travelynx else systemctl stop travelynx diff --git a/lib/Travelynx/Command/database.pm b/lib/Travelynx/Command/database.pm index a42d378..5e1b38a 100644 --- a/lib/Travelynx/Command/database.pm +++ b/lib/Travelynx/Command/database.pm @@ -110,6 +110,7 @@ my @migrations = ( sub run { my ( $self, $command ) = @_; + my $exit_status = 0; my $dbh = $self->app->dbh; @@ -120,6 +121,7 @@ sub run { } else { $dbh->rollback; + $exit_status = 1; } } elsif ( $command eq 'migrate' ) { @@ -134,6 +136,7 @@ sub run { if ( not $migrations[$i]($dbh) ) { say "Aborting migration; rollback to v${schema_version}"; $dbh->rollback; + $exit_status = 1; last; } } @@ -147,6 +150,7 @@ sub run { } else { say "no"; + $exit_status = 1; } } else { @@ -155,6 +159,7 @@ sub run { $dbh->disconnect; + exit($exit_status); } 1;