]> git.openstreetmap.org Git - rails.git/blobdiff - lib/tasks/add_version_to_nodes.rake
Adds toilets
[rails.git] / lib / tasks / add_version_to_nodes.rake
index 990ce5c4c164541e6190c78e2aad66180bd42582..cdcf13a3eb98d1c6af9ebcc3405761e83756e2b1 100644 (file)
@@ -1,20 +1,19 @@
-namespace 'db' do
-  desc 'Adds a version number to the noes table'
+namespace "db" do
+  desc "Adds a version number to the nodes table"
   task :node_version  do
   task :node_version  do
-    require File.dirname(__FILE__) + '/../../config/environment'
+    require File.dirname(__FILE__) + "/../../config/environment"
 
 
-    lower_bound = 0
-    increment = 100
-    node_count = OldNode.count
-    puts node_count
-    
-    while lower_bound < node_count
-    upper_bound = lower_bound + increment
-    hash = {}
+    increment = 1000
+    offset = 0
+    id_max = OldNode.find(:first, :order => "id desc").id
 
 
-      OldNode.find(:all, :conditions => ['id >= ? AND id < ?',lower_bound, upper_bound], :order => 'timestamp').each do |node|
-         hash[node.id] = [] if hash[node.id].nil?
-         hash[node.id] << node
+    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|
       end
 
       hash.each_value do |node_array|
@@ -29,17 +28,11 @@ namespace 'db' do
           temp_old_node.timestamp = node.timestamp
           temp_old_node.tile = node.tile
           temp_old_node.version = n
           temp_old_node.timestamp = node.timestamp
           temp_old_node.tile = node.tile
           temp_old_node.version = n
-          temp_old_node.save! || raise
-          n +=
+          temp_old_node.save! || fail
+          n += 1
         end
       end
         end
       end
-      lower_bound += increment
+      offset += increment
     end
   end
 end
     end
   end
 end
-
-
-
-
-
-