From 5fe7a5bbbc0cb65a2372a0430580d25fc7b58a8d Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Fri, 31 Aug 2007 23:10:33 +0000 Subject: [PATCH 1/1] Split the transaction used for ways so that we recover more cleanly without leaving rubbish in the database. --- app/models/way.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/models/way.rb b/app/models/way.rb index d86d82de6..c844c1518 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -147,7 +147,9 @@ class Way < ActiveRecord::Base t = Time.now self.timestamp = t self.save! + end + WayTag.transaction do tags = self.tags WayTag.delete_all(['id = ?', self.id]) @@ -159,7 +161,9 @@ class Way < ActiveRecord::Base tag.id = self.id tag.save! end + done + WaySegment.transaction do segs = self.segs WaySegment.delete_all(['id = ?', self.id]) @@ -173,11 +177,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? -- 2.43.2