X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e15916ad5b081f94c433f1e0bb708be242dbe5ab..68637a381c5e08e26ada45718f782486db831227:/app/models/way.rb diff --git a/app/models/way.rb b/app/models/way.rb index d86d82de6..c65119235 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -143,11 +143,14 @@ class Way < ActiveRecord::Base end def save_with_history! + t = Time.now + Way.transaction do - t = Time.now self.timestamp = t self.save! + end + WayTag.transaction do tags = self.tags WayTag.delete_all(['id = ?', self.id]) @@ -159,7 +162,9 @@ class Way < ActiveRecord::Base tag.id = self.id tag.save! end + end + WaySegment.transaction do segs = self.segs WaySegment.delete_all(['id = ?', self.id]) @@ -173,11 +178,11 @@ class Way < ActiveRecord::Base seg.save! i += 1 end - - old_way = OldWay.from_way(self) - old_way.timestamp = t - old_way.save_with_dependencies! end + + old_way = OldWay.from_way(self) + old_way.timestamp = t + old_way.save_with_dependencies! end def preconditions_ok?