diff options
| -rw-r--r-- | lib/Travelynx/Command/maintenance.pm | 88 | 
1 files changed, 0 insertions, 88 deletions
| diff --git a/lib/Travelynx/Command/maintenance.pm b/lib/Travelynx/Command/maintenance.pm index 60667b7..ddd8345 100644 --- a/lib/Travelynx/Command/maintenance.pm +++ b/lib/Travelynx/Command/maintenance.pm @@ -183,94 +183,6 @@ sub run {  		);  		$tx->commit;  	} - -	# Add estimated polylines to journeys logged before 2020-01-28 - -	$tx = $db->begin; - -	say 'Adding polylines to journeys logged before 2020-01-28'; -	my $no_polyline -	  = $db->select( 'journeys', 'count(*) as count', { polyline_id => undef } ) -	  ->hash; -	say "Checking $no_polyline->{count} journeys ..."; - -	for my $journey ( -		$db->select( 'journeys', [ 'id', 'route' ], { polyline_id => undef } ) -		->hashes->each ) -	{ - -		# prior to v1.9.4, routes were stored as [["stop1"], ["stop2"], ...]. -		# Nowadays, the common format is [["stop1", {}, null], ...]. -		# entry[1] is non-empty only while checked in, entry[2] is non-null only -		# if the stop is unscheduled or has been cancelled. -		# -		# Here, we pretend to use the new format, as we're looking for -		# matching routes in more recent journeys. -		# -		# Note that journey->{route} is serialized JSON (i.e., a string). -		# It is not deserialized for performance reasons. -		$journey->{route} -		  =~ s/ (?<! additional ) (?<! cancelled ) "] /", {}, null]/gx; - -		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); -			} -		} -		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 -	  = $db->select( 'journeys', 'count(*) as count', { polyline_id => undef } ) -	  ->hash; -	say "Done! Remaining journeys without polyline: " . $remaining->{count}; - -	$tx->commit;  }  1; | 
