added task to add version numbers to nodes table
authorNick Black <nickb@svn.openstreetmap.org>
Wed, 23 Jan 2008 18:39:29 +0000 (18:39 +0000)
committerNick Black <nickb@svn.openstreetmap.org>
Wed, 23 Jan 2008 18:39:29 +0000 (18:39 +0000)
lib/tasks/add_version_to_nodes.rake [new file with mode: 0644]
lib/tasks/populate_node_tags.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
+
+
+
+
+
+
index fe247da..6a57dff 100644 (file)
@@ -6,7 +6,7 @@ namespace 'db' do
     node_count = Node.count
     limit = 1000 #the number of nodes to grab in one go
     offset = 0   
+
     while offset < node_count
         Node.find(:all, :limit => limit, :offset => offset).each do |node|
         seq_id = 1