diff options
| author | Daniel Friesel <daniel.friesel@uos.de> | 2020-02-06 17:54:23 +0100 | 
|---|---|---|
| committer | Daniel Friesel <daniel.friesel@uos.de> | 2020-02-06 17:54:23 +0100 | 
| commit | c2e0f377be954b70c1c095e441871231c603a34d (patch) | |
| tree | dc14d183010127569517ff2c2f5efbeeb44700af | |
| parent | 0457a53f657d887e5644331b3cca1f56fde5d371 (diff) | |
maintenance: consider station renames whan backpropagating polylines1.14.6
| -rw-r--r-- | lib/Travelynx/Command/maintenance.pm | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/lib/Travelynx/Command/maintenance.pm b/lib/Travelynx/Command/maintenance.pm index 32a6231..8237e33 100644 --- a/lib/Travelynx/Command/maintenance.pm +++ b/lib/Travelynx/Command/maintenance.pm @@ -165,6 +165,35 @@ sub run {  				exit(1);  			}  		} +		else { +			while ( my ( $old_name, $new_name ) +				= each %{ $self->app->renamed_station } ) +			{ +				$journey->{route} =~ s{"\Q$old_name\E"}{"$new_name"}; +			} +			my $ref = $db->select( +				'journeys', +				[ 'id', 'polyline_id' ], +				{ +					route       => $journey->{route}, +					polyline_id => { '!=', undef }, +					edited      => 0, +				}, +				{ limit => 1 } +			)->hash; +			if ($ref) { +				my $rows = $db->update( +					'journeys', +					{ polyline_id => $ref->{polyline_id} }, +					{ id          => $journey->{id} } +				)->rows; +				if ( $rows != 1 ) { +					say STDERR +"Database update returned $rows rows, expected 1. Rollback and abort."; +					exit(1); +				} +			} +		}  	}  	my $remaining | 
