- def save_with_history!
- t = Time.now
- Node.transaction do
- self.version += 1
- self.timestamp = t
- self.save!
-
- # Create a NodeTag
- tags = self.tags
- NodeTag.delete_all(['id = ?', self.id])
- tags.each do |k,v|
- tag = NodeTag.new
- tag.k = k
- tag.v = v
- tag.id = self.id
- tag.save!
- end
-
- # Create an OldNode
- old_node = OldNode.from_node(self)
- old_node.timestamp = t
- old_node.save_with_dependencies!
-
- # tell the changeset we updated one element only
- changeset.add_changes! 1
-
- # save the changeset in case of bounding box updates
- changeset.save!
- end
- end
-