]> git.openstreetmap.org Git - rails.git/blobdiff - lib/tasks/add_version_to_nodes.rake
added task to add version numbers to nodes table
[rails.git] / lib / tasks / add_version_to_nodes.rake
diff --git a/lib/tasks/add_version_to_nodes.rake b/lib/tasks/add_version_to_nodes.rake
new file mode 100644 (file)
index 0000000..1ec8312
--- /dev/null
@@ -0,0 +1,45 @@
+namespace 'db' do
+  desc 'Populate the node_tags table'
+  task :node_version  do
+    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 = {}
+
+      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
+      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 = node.version
+          temp_old_node.save! || raise
+          n +=1 
+        end
+      end
+      lower_bound += increment
+    end
+  end
+end
+
+
+
+
+
+