From: Andy Allan Date: Wed, 30 Aug 2023 15:51:44 +0000 (+0100) Subject: Use trace instead of gpx_id in queries X-Git-Tag: live~1103^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/b595b87c48b59977304bf6c32e74c93d83cc0f8d Use trace instead of gpx_id in queries This makes the queries easier to read. --- diff --git a/app/models/trace.rb b/app/models/trace.rb index 35fee0bf4..2411fb9b7 100644 --- a/app/models/trace.rb +++ b/app/models/trace.rb @@ -209,7 +209,7 @@ class Trace < ApplicationRecord first = true # If there are any existing points for this trace then delete them - Tracepoint.where(:gpx_id => id).delete_all + Tracepoint.where(:trace => id).delete_all gpx.points.each_slice(1_000) do |points| # Gather the trace points together for a bulk import @@ -242,10 +242,10 @@ class Trace < ApplicationRecord end if gpx.actual_points.positive? - max_lat = Tracepoint.where(:gpx_id => id).maximum(:latitude) - min_lat = Tracepoint.where(:gpx_id => id).minimum(:latitude) - max_lon = Tracepoint.where(:gpx_id => id).maximum(:longitude) - min_lon = Tracepoint.where(:gpx_id => id).minimum(:longitude) + max_lat = Tracepoint.where(:trace => id).maximum(:latitude) + min_lat = Tracepoint.where(:trace => id).minimum(:latitude) + max_lon = Tracepoint.where(:trace => id).maximum(:longitude) + min_lon = Tracepoint.where(:trace => id).minimum(:longitude) max_lat = max_lat.to_f / 10000000 min_lat = min_lat.to_f / 10000000 diff --git a/test/models/trace_test.rb b/test/models/trace_test.rb index 762df6648..66107771a 100644 --- a/test/models/trace_test.rb +++ b/test/models/trace_test.rb @@ -193,16 +193,16 @@ class TraceTest < ActiveSupport::TestCase def test_import_creates_tracepoints trace = create(:trace, :fixture => "a") - assert_equal 0, Tracepoint.where(:gpx_id => trace.id).count + assert_equal 0, Tracepoint.where(:trace => trace).count trace.import trace.reload - assert_equal 1, Tracepoint.where(:gpx_id => trace.id).count + assert_equal 1, Tracepoint.where(:trace => trace).count # Check that the tile has been set prior to the bulk import # i.e. that the callbacks have been run correctly - assert_equal 3221331576, Tracepoint.where(:gpx_id => trace.id).first.tile + assert_equal 3221331576, Tracepoint.where(:trace => trace).first.tile end def test_import_creates_icon