added task to add version numbers to nodes table

This commit is contained in:
Nick Black 2008-01-23 18:39:29 +00:00
parent de93fe7707
commit 6f6e827702
2 changed files with 46 additions and 1 deletions

View file

@ -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

View 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