-namespace "db" do
- desc "Adds a version number to the nodes table"
- task :node_version => :environment do
- require File.dirname(__FILE__) + "/../../config/environment"
-
- increment = 1000
- offset = 0
- id_max = OldNode.find(:first, :order => "id desc").id
-
- while offset < (id_max + increment)
- hash = {}
-
- # should be offsetting not selecting
- OldNode.find(:all, :limit => increment, :offset => offset, :order => "timestamp").each do |node|
- hash[node.id] ||= []
- hash[node.id] << node
- end
-
- hash.each_value do |node_array|
- n = 1
- node_array.each do |node|
- temp_old_node = TempOldNode.new
- temp_old_node.id = node.id
- temp_old_node.latitude = node.latitude
- temp_old_node.longitude = node.longitude
- temp_old_node.user_id = node.user_id
- temp_old_node.visible = node.visible
- temp_old_node.timestamp = node.timestamp
- temp_old_node.tile = node.tile
- temp_old_node.version = n
- temp_old_node.save! || raise
- n += 1
- end
- end
- offset += increment
- end
- end
-end