]> git.openstreetmap.org Git - rails.git/commitdiff
Rename all ID columns that aren't unique
authorTom Hughes <tom@compton.nu>
Sun, 25 Sep 2011 13:42:33 +0000 (14:42 +0100)
committerTom Hughes <tom@compton.nu>
Mon, 14 Nov 2011 09:42:52 +0000 (09:42 +0000)
Having a table with a column called ID that is only part of the
primary key really doesn't work as rails likes to treat ID as a
special name so it becomes impossible to assign to it or read it.

55 files changed:
app/controllers/amf_controller.rb
app/controllers/changeset_controller.rb
app/controllers/old_node_controller.rb
app/controllers/old_relation_controller.rb
app/controllers/old_way_controller.rb
app/controllers/relation_controller.rb
app/models/changeset.rb
app/models/changeset_tag.rb
app/models/node.rb
app/models/node_tag.rb
app/models/old_node.rb
app/models/old_node_tag.rb
app/models/old_relation.rb
app/models/old_relation_member.rb
app/models/old_relation_tag.rb
app/models/old_way.rb
app/models/old_way_node.rb
app/models/old_way_tag.rb
app/models/relation.rb
app/models/relation_member.rb
app/models/relation_tag.rb
app/models/way.rb
app/models/way_node.rb
app/models/way_tag.rb
db/migrate/20110925112722_rename_ids.rb [new file with mode: 0644]
test/fixtures/changeset_tags.yml
test/fixtures/current_node_tags.yml
test/fixtures/current_relation_members.yml
test/fixtures/current_relation_tags.yml
test/fixtures/current_way_nodes.yml
test/fixtures/current_way_tags.yml
test/fixtures/node_tags.yml
test/fixtures/nodes.yml
test/fixtures/relation_members.yml
test/fixtures/relation_tags.yml
test/fixtures/relations.yml
test/fixtures/way_nodes.yml
test/fixtures/way_tags.yml
test/fixtures/ways.yml
test/functional/amf_controller_test.rb
test/functional/browse_controller_test.rb
test/functional/changeset_controller_test.rb
test/functional/node_controller_test.rb
test/functional/old_relation_controller_test.rb
test/functional/old_way_controller_test.rb
test/unit/changeset_tag_test.rb
test/unit/node_tag_test.rb
test/unit/node_test.rb
test/unit/old_node_tag_test.rb
test/unit/old_node_test.rb
test/unit/old_relation_tag_test.rb
test/unit/old_way_tag_test.rb
test/unit/relation_tag_test.rb
test/unit/way_node_test.rb
test/unit/way_tag_test.rb

index ccc1259f75f903e8dc270506195ebb040b1b0f79..9c9228a7a24dbb34e8045fcb0ea8625e2545ec7e 100644 (file)
@@ -413,13 +413,13 @@ class AmfController < ApplicationController
     amf_handle_error_with_timeout("'getway_old' #{id}, #{timestamp}", 'way',id) do
       if timestamp == ''
         # undelete
-        old_way = OldWay.where(:visible => true, :id => id).order("version DESC").first
+        old_way = OldWay.where(:visible => true, :way_id => id).order("version DESC").first
         points = old_way.get_nodes_undelete unless old_way.nil?
       else
         begin
           # revert
           timestamp = DateTime.strptime(timestamp.to_s, "%d %b %Y, %H:%M:%S")
-          old_way = OldWay.where("id = ? AND timestamp <= ?", id, timestamp).order("timestamp DESC").first
+          old_way = OldWay.where("way_id = ? AND timestamp <= ?", id, timestamp).order("timestamp DESC").first
           unless old_way.nil?
             points = old_way.get_nodes_revert(timestamp)
             if !old_way.visible
index 51d0049a792961cecbfb9b28234940bb908fbc34..ca501fd43183cc3d45d09d53b01eb4434064fb70 100644 (file)
@@ -177,7 +177,7 @@ class ChangesetController < ApplicationController
           created << elt.to_xml_node
         else
           # get the previous version from the element history
-          prev_elt = elt.class.where(:id => elt.id, :version => elt.version).first
+          prev_elt = elt.class.find([elt.id, elt.version])
           unless elt.visible
             # if the element isn't visible then it must have been deleted, so
             # output the *previous* XML
index 514e5befe9198a15d1709ab020ffb9325144613e..4a1253034ac90f49464b6d99f922e2c6e9cce921 100644 (file)
@@ -18,7 +18,7 @@ class OldNodeController < ApplicationController
   end
   
   def version
-    if old_node = OldNode.where(:id => params[:id], :version => params[:version]).first
+    if old_node = OldNode.where(:node_id => params[:id], :version => params[:version]).first
       response.last_modified = old_node.timestamp
 
       doc = OSM::API.new.get_xml_doc
index 0e1950ceee6b2c83d54bcee2677e5b3c02abc42d..771b322ee0ab96c0b683fff94c3bd0d92d8496d4 100644 (file)
@@ -17,7 +17,7 @@ class OldRelationController < ApplicationController
   end
   
   def version
-    if old_relation = OldRelation.where(:id => params[:id], :version => params[:version]).first
+    if old_relation = OldRelation.where(:relation_id => params[:id], :version => params[:version]).first
       response.last_modified = old_relation.timestamp
 
       doc = OSM::API.new.get_xml_doc
index 5ea1a0497d7cba35a85fe8a0c03eb3de6fc6cf41..c20212df4e4146e69c00e0433b85bf4cab1d6478 100644 (file)
@@ -18,7 +18,7 @@ class OldWayController < ApplicationController
   end
   
   def version
-    if old_way = OldWay.where(:id => params[:id], :version => params[:version]).first
+    if old_way = OldWay.where(:way_id => params[:id], :version => params[:version]).first
       response.last_modified = old_way.timestamp
 
       doc = OSM::API.new.get_xml_doc
index 0c2cccd11ee847cf46ff8af315bb6c1e9b316301..10328aae47c907bb2d490e46901e4a1acd887253 100644 (file)
@@ -157,7 +157,7 @@ class RelationController < ApplicationController
   end
 
   def relations_for_object(objtype)
-    relationids = RelationMember.where(:member_type => objtype, :member_id => params[:id]).collect { |ws| ws.id[0] }.uniq
+    relationids = RelationMember.where(:member_type => objtype, :member_id => params[:id]).collect { |ws| ws.relation_id }.uniq
 
     doc = OSM::API.new.get_xml_doc
 
index 3f6df27f670e71aab7a992493201f1c6b88747af..d58d91bb305480f0601e2edabfb1c3ab52b9474b 100644 (file)
@@ -3,7 +3,7 @@ class Changeset < ActiveRecord::Base
 
   belongs_to :user
 
-  has_many :changeset_tags, :foreign_key => 'id'
+  has_many :changeset_tags
 
   has_many :nodes
   has_many :ways
@@ -177,13 +177,13 @@ class Changeset < ActiveRecord::Base
       self.save!
 
       tags = self.tags
-      ChangesetTag.delete_all(['id = ?', self.id])
+      ChangesetTag.delete_all(:changeset_id => self.id)
 
       tags.each do |k,v|
         tag = ChangesetTag.new
+        tag.changeset_id = self.id
         tag.k = k
         tag.v = v
-        tag.id = self.id
         tag.save!
       end
     end
index 6a414a0fcb8506d2c3118361341354c42e36359f..bd0417ab4255af3a32ff6a56b4a895a3460a02ee 100644 (file)
@@ -1,8 +1,10 @@
 class ChangesetTag < ActiveRecord::Base
-  belongs_to :changeset, :foreign_key => 'id'
+  set_primary_keys :changeset_id, :k
 
-  validates_presence_of :id
-  validates_length_of :k, :v, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :id, :scope => :k
-  validates_numericality_of :id, :only_integer => true
+  belongs_to :changeset
+
+  validates_presence_of :changeset
+  validates_length_of :k, :maximum => 255, :allow_blank => true
+  validates_uniqueness_of :k, :scope => :changeset_id
+  validates_length_of :v, :maximum => 255, :allow_blank => true
 end
index 8f154b4739db0fde7ee7f846d8f9a92cf98d2a59..915188e47413fe647558b44477d539eddbcd07cb 100644 (file)
@@ -8,12 +8,12 @@ class Node < ActiveRecord::Base
 
   belongs_to :changeset
 
-  has_many :old_nodes, :foreign_key => :id, :order => :version
+  has_many :old_nodes, :order => :version
 
   has_many :way_nodes
   has_many :ways, :through => :way_nodes
 
-  has_many :node_tags, :foreign_key => :id
+  has_many :node_tags
   
   has_many :old_way_nodes
   has_many :ways_via_history, :class_name=> "Way", :through => :old_way_nodes, :source => :way
@@ -289,12 +289,12 @@ class Node < ActiveRecord::Base
 
       # Create a NodeTag
       tags = self.tags
-      NodeTag.delete_all(['id = ?', self.id])
+      NodeTag.delete_all(:node_id => self.id)
       tags.each do |k,v|
         tag = NodeTag.new
+        tag.node_id = self.id
         tag.k = k 
         tag.v = v 
-        tag.id = self.id
         tag.save!
       end 
 
index 4942601128d908c7d1fc4306d02fb51c98f9883e..6bc1c555e6e4e79b8cd8923d93f6815ec322a3b6 100644 (file)
@@ -1,10 +1,11 @@
 class NodeTag < ActiveRecord::Base
   set_table_name 'current_node_tags'
+  set_primary_keys :node_id, :k
 
-  belongs_to :node, :foreign_key => 'id'
+  belongs_to :node
   
-  validates_presence_of :id
-  validates_length_of :k, :v, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :id, :scope => :k
-  validates_numericality_of :id, :only_integer => true
+  validates_presence_of :node
+  validates_length_of :k, :maximum => 255, :allow_blank => true
+  validates_uniqueness_of :k, :scope => :node_id
+  validates_length_of :v, :maximum => 255, :allow_blank => true
 end
index ca179e0e9189d8a86dcefd97d61841c1d1f7349b..f8af91abb3be2c3c4f6a17a161e41eda5ba831c1 100644 (file)
@@ -3,11 +3,8 @@ class OldNode < ActiveRecord::Base
   include ConsistencyValidations
 
   set_table_name 'nodes'
-  
-  # Should probably have the composite primary key set in the model
-  # however there are some weird bugs happening when you do
-  #set_primary_keys :id, :version
-  
+  set_primary_keys :node_id, :version
+
   validates_presence_of :changeset_id, :timestamp
   validates_inclusion_of :visible, :in => [ true, false ]
   validates_numericality_of :latitude, :longitude
@@ -28,7 +25,7 @@ class OldNode < ActiveRecord::Base
     old_node.tags = node.tags
     old_node.timestamp = node.timestamp
     old_node.changeset_id = node.changeset_id
-    old_node.id = node.id
+    old_node.node_id = node.id
     old_node.version = node.version
     return old_node
   end
@@ -41,7 +38,7 @@ class OldNode < ActiveRecord::Base
 
   def to_xml_node
     el1 = XML::Node.new 'node'
-    el1['id'] = self.id.to_s
+    el1['id'] = self.node_id.to_s
     el1['lat'] = self.lat.to_s
     el1['lon'] = self.lon.to_s
     el1['changeset'] = self.changeset.id.to_s
@@ -69,13 +66,13 @@ class OldNode < ActiveRecord::Base
     clear_aggregation_cache
     clear_association_cache
     #ok from here
-    @attributes.update(OldNode.where('id = ? AND timestamp = ? AND version = ?', self.id, self.timestamp, self.version).first.instance_variable_get('@attributes'))
+    @attributes.update(OldNode.where(:node_id => self.node_id, :timestamp => self.timestamp, :version => self.version).first.instance_variable_get('@attributes'))
    
     self.tags.each do |k,v|
       tag = OldNodeTag.new
       tag.k = k
       tag.v = v
-      tag.id = self.id
+      tag.node_id = self.node_id
       tag.version = self.version
       tag.save!
     end
@@ -83,10 +80,10 @@ class OldNode < ActiveRecord::Base
 
   def tags
     unless @tags
-        @tags = Hash.new
-        OldNodeTag.where("id = ? AND version = ?", self.id, self.version).each do |tag|
-            @tags[tag.k] = tag.v
-        end
+      @tags = Hash.new
+      OldNodeTag.where(:node_id => self.node_id, :version => self.version).each do |tag|
+        @tags[tag.k] = tag.v
+      end
     end
     @tags = Hash.new unless @tags
     @tags
index dd339ad307b6400d1fed177cea4020c89883a4b2..cd5bc4739195d59f7aa8f8825609f6f52e949c8d 100644 (file)
@@ -1,10 +1,11 @@
 class OldNodeTag < ActiveRecord::Base
   set_table_name 'node_tags'
+  set_primary_keys :node_id, :version, :k
 
-  belongs_to :user
+  belongs_to :old_node, :foreign_key => [:node_id, :version]
 
-  validates_presence_of :id, :version
-  validates_length_of :k, :v, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :id, :scope => [:k, :version]
-  validates_numericality_of :id, :version, :only_integer => true
+  validates_presence_of :old_node
+  validates_length_of :k, :maximum => 255, :allow_blank => true
+  validates_uniqueness_of :k, :scope => [:node_id, :version]
+  validates_length_of :v, :maximum => 255, :allow_blank => true
 end
index c83453e25cd64f1aa0f8a5ff967708fe4ce4f044..87771caab3440b7603d22143db6f51d88ecd8a0f 100644 (file)
@@ -2,8 +2,12 @@ class OldRelation < ActiveRecord::Base
   include ConsistencyValidations
   
   set_table_name 'relations'
+  set_primary_keys :relation_id, :version
 
   belongs_to :changeset
+
+  has_many :old_members, :class_name => 'OldRelationMember', :foreign_key => [:relation_id, :version], :order => :sequence_id
+  has_many :old_tags, :class_name => 'OldRelationTag', :foreign_key => [:relation_id, :version]
   
   validates_associated :changeset
 
@@ -12,7 +16,7 @@ class OldRelation < ActiveRecord::Base
     old_relation.visible = relation.visible
     old_relation.changeset_id = relation.changeset_id
     old_relation.timestamp = relation.timestamp
-    old_relation.id = relation.id
+    old_relation.relation_id = relation.id
     old_relation.version = relation.version
     old_relation.members = relation.members
     old_relation.tags = relation.tags
@@ -25,7 +29,7 @@ class OldRelation < ActiveRecord::Base
     save!
     clear_aggregation_cache
     clear_association_cache
-    @attributes.update(OldRelation.where('id = ? AND timestamp = ?', self.id, self.timestamp).order("version DESC").first.instance_variable_get('@attributes'))
+    @attributes.update(OldRelation.where(:relation_id => self.relation_id, :timestamp => self.timestamp).order("version DESC").first.instance_variable_get('@attributes'))
 
     # ok, you can touch from here on
 
@@ -33,14 +37,14 @@ class OldRelation < ActiveRecord::Base
       tag = OldRelationTag.new
       tag.k = k
       tag.v = v
-      tag.id = self.id
+      tag.relation_id = self.relation_id
       tag.version = self.version
       tag.save!
     end
 
     self.members.each_with_index do |m,i|
       member = OldRelationMember.new
-      member.id = [self.id, self.version, i]
+      member.id = [self.relation_id, self.version, i]
       member.member_type = m[0].classify
       member.member_id = m[1]
       member.member_role = m[2]
@@ -50,20 +54,20 @@ class OldRelation < ActiveRecord::Base
 
   def members
     unless @members
-        @members = Array.new
-        OldRelationMember.where("id = ? AND version = ?", self.id, self.version).order(:sequence_id).each do |m|
-            @members += [[m.type,m.id,m.role]]
-        end
+      @members = Array.new
+      OldRelationMember.where(:relation_id => self.relation_id, :version => self.version).order(:sequence_id).each do |m|
+        @members += [[m.type,m.id,m.role]]
+      end
     end
     @members
   end
 
   def tags
     unless @tags
-        @tags = Hash.new
-        OldRelationTag.where("id = ? AND version = ?", self.id, self.version).each do |tag|
-            @tags[tag.k] = tag.v
-        end
+      @tags = Hash.new
+      OldRelationTag.where(:relation_id => self.relation_id, :version => self.version).each do |tag|
+        @tags[tag.k] = tag.v
+      end
     end
     @tags = Hash.new unless @tags
     @tags
@@ -77,17 +81,6 @@ class OldRelation < ActiveRecord::Base
     @tags = t
   end
 
-#  has_many :relation_segments, :class_name => 'OldRelationSegment', :foreign_key => 'id'
-#  has_many :relation_tags, :class_name => 'OldRelationTag', :foreign_key => 'id'
-
-  def old_members
-    OldRelationMember.where('id = ? AND version = ?', self.id, self.version).order(:sequence_id)
-  end
-
-  def old_tags
-    OldRelationTag.where('id = ? AND version = ?', self.id, self.version)
-  end
-
   def to_xml
     doc = OSM::API.new.get_xml_doc
     doc.root << to_xml_node()
@@ -96,7 +89,7 @@ class OldRelation < ActiveRecord::Base
 
   def to_xml_node
     el1 = XML::Node.new 'relation'
-    el1['id'] = self.id.to_s
+    el1['id'] = self.relation_id.to_s
     el1['visible'] = self.visible.to_s
     el1['timestamp'] = self.timestamp.xmlschema
     if self.changeset.user.data_public?
index 7bd7442dd973f46d6af1fb95aa15b2eaacb0c8a2..58d7cccfbd0ed98ff0c9494b2eef45a4cde04cbd 100644 (file)
@@ -1,8 +1,8 @@
 class OldRelationMember < ActiveRecord::Base
   set_table_name 'relation_members'
+  set_primary_keys :relation_id, :version, :sequence_id
 
-  set_primary_keys :id, :version, :sequence_id
-  belongs_to :relation, :foreign_key=> :id
+  belongs_to :old_relation, :foreign_key => [:relation_id, :version]
   # A bit messy, referring to the current tables, should do for the data browser for now
   belongs_to :member, :polymorphic => true
 end
index 0fcb113269ea475fef4438d747ccee8eb9c69e26..032a87c77edfd1547d474cd5d4d7c9b4685b6fcf 100644 (file)
@@ -1,10 +1,11 @@
 class OldRelationTag < ActiveRecord::Base
   set_table_name 'relation_tags'
+    set_primary_keys :relation_id, :version, :k
+
+  belongs_to :old_relation, :foreign_key => [:relation_id, :version]
   
-  belongs_to :old_relation, :foreign_key => [:id, :version]
-  
-  validates_presence_of :id, :version
-  validates_length_of :k, :v, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :id, :scope => [:k, :version]
-  validates_numericality_of :id, :version, :only_integer => true
+  validates_presence_of :old_relation
+  validates_length_of :k, :maximum => 255, :allow_blank => true
+  validates_uniqueness_of :k, :scope => [:relation_id, :version]
+  validates_length_of :v, :maximum => 255, :allow_blank => true
 end
index 85cc6444766e25affdd3796c23bec7ef049e4c39..c2af4f21ce45e2944146fecc370ded8b4d56a2e4 100644 (file)
@@ -2,9 +2,13 @@ class OldWay < ActiveRecord::Base
   include ConsistencyValidations
   
   set_table_name 'ways'
+  set_primary_keys :way_id, :version
 
   belongs_to :changeset
 
+  has_many :old_nodes, :class_name => 'OldWayNode', :foreign_key => [:way_id, :version]
+  has_many :old_tags, :class_name => 'OldWayTag', :foreign_key => [:way_id, :version]
+
   validates_associated :changeset
   
   def self.from_way(way)
@@ -12,7 +16,7 @@ class OldWay < ActiveRecord::Base
     old_way.visible = way.visible
     old_way.changeset_id = way.changeset_id
     old_way.timestamp = way.timestamp
-    old_way.id = way.id
+    old_way.way_id = way.id
     old_way.version = way.version
     old_way.nds = way.nds
     old_way.tags = way.tags
@@ -30,7 +34,7 @@ class OldWay < ActiveRecord::Base
     save!
     clear_aggregation_cache
     clear_association_cache
-    @attributes.update(OldWay.where('id = ? AND timestamp = ?', self.id, self.timestamp).order("version DESC").first.instance_variable_get('@attributes'))
+    @attributes.update(OldWay.where(:way_id => self.way_id, :timestamp => self.timestamp).order("version DESC").first.instance_variable_get('@attributes'))
 
     # ok, you can touch from here on
 
@@ -38,7 +42,7 @@ class OldWay < ActiveRecord::Base
       tag = OldWayTag.new
       tag.k = k
       tag.v = v
-      tag.id = self.id
+      tag.way_id = self.way_id
       tag.version = self.version
       tag.save!
     end
@@ -46,7 +50,7 @@ class OldWay < ActiveRecord::Base
     sequence = 1
     self.nds.each do |n|
       nd = OldWayNode.new
-      nd.id = [self.id, self.version, sequence]
+      nd.id = [self.way_id, self.version, sequence]
       nd.node_id = n
       nd.save!
       sequence += 1
@@ -55,20 +59,20 @@ class OldWay < ActiveRecord::Base
 
   def nds
     unless @nds
-        @nds = Array.new
-        OldWayNode.where("id = ? AND version = ?", self.id, self.version).order(:sequence_id).each do |nd|
-            @nds += [nd.node_id]
-        end
+      @nds = Array.new
+      OldWayNode.where(:way_id => self.way_id, :version => self.version).order(:sequence_id).each do |nd|
+        @nds += [nd.node_id]
+      end
     end
     @nds
   end
 
   def tags
     unless @tags
-        @tags = Hash.new
-        OldWayTag.where("id = ? AND version = ?", self.id, self.version).each do |tag|
-            @tags[tag.k] = tag.v
-        end
+      @tags = Hash.new
+      OldWayTag.where(:way_id => self.way_id, :version => self.version).each do |tag|
+        @tags[tag.k] = tag.v
+      end
     end
     @tags = Hash.new unless @tags
     @tags
@@ -82,20 +86,9 @@ class OldWay < ActiveRecord::Base
     @tags = t
   end
 
-#  has_many :way_nodes, :class_name => 'OldWayNode', :foreign_key => 'id'
-#  has_many :way_tags, :class_name => 'OldWayTag', :foreign_key => 'id'
-
-  def old_nodes
-    OldWayNode.where('id = ? AND version = ?', self.id, self.version)
-  end
-
-  def old_tags
-    OldWayTag.where('id = ? AND version = ?', self.id, self.version)
-  end
-
   def to_xml_node
     el1 = XML::Node.new 'way'
-    el1['id'] = self.id.to_s
+    el1['id'] = self.way_id.to_s
     el1['visible'] = self.visible.to_s
     el1['timestamp'] = self.timestamp.xmlschema
     if self.changeset.user.data_public?
@@ -139,12 +132,12 @@ class OldWay < ActiveRecord::Base
   def get_nodes_revert(timestamp)
     points=[]
     self.nds.each do |n|
-      oldnode = OldNode.where('id = ? AND timestamp <= ?', n, timestamp).order("timestamp DESC").first
+      oldnode = OldNode.where('node_id = ? AND timestamp <= ?', n, timestamp).order("timestamp DESC").first
       curnode = Node.find(n)
       id = n; reuse = curnode.visible
       if oldnode.lat != curnode.lat or oldnode.lon != curnode.lon or oldnode.tags != curnode.tags then
         # node has changed: if it's in other ways, give it a new id
-        if curnode.ways-[self.id] then id=-1; reuse=false end
+        if curnode.ways-[self.node_id] then id=-1; reuse=false end
       end
       points << [oldnode.lon, oldnode.lat, id, curnode.version, oldnode.tags_as_hash, reuse]
     end
index 6234b85c2b48c4baaeb15579623e878a49d19c3e..b613be0b4b80b6c79e0ceb8006034650ab24adb8 100644 (file)
@@ -1,10 +1,9 @@
 class OldWayNode < ActiveRecord::Base
   set_table_name 'way_nodes'
+  set_primary_keys :way_id, :version, :sequence_id
 
-  set_primary_keys :id, :version, :sequence_id
-
-  belongs_to :way, :foreign_key=> :id
-  
-  # A bit messy, referring to current nodes, should do for the data browser for now
+  belongs_to :old_way, :foreign_key => [:way_id, :version]
+  # A bit messy, referring to current nodes and ways, should do for the data browser for now
   belongs_to :node
+  belongs_to :way
 end
index 801532dbaa7632d2074e33fbb48ac4a5251285a3..9f4adb147fd6572e83f7c00b6e140c0fc14d3eda 100644 (file)
@@ -1,10 +1,11 @@
 class OldWayTag < ActiveRecord::Base
   set_table_name 'way_tags'
+  set_primary_keys :way_id, :version, :k
 
-  belongs_to :old_way, :foreign_key => [:id, :version]
+  belongs_to :old_way, :foreign_key => [:way_id, :version]
 
-  validates_presence_of :id
-  validates_length_of :k, :v, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :id, :scope => [:k, :version]
-  validates_numericality_of :id, :version, :only_integer => true
+  validates_presence_of :old_way
+  validates_length_of :k, :maximum => 255, :allow_blank => true
+  validates_uniqueness_of :k, :scope => [:way_id, :version]
+  validates_length_of :v, :maximum => 255, :allow_blank => true
 end
index d5a6d5dc0caf8e7616d19365ccc3a34572a12464..659c4f18a7297651ad1024cf2a59acdb5f0e26a4 100644 (file)
@@ -7,10 +7,10 @@ class Relation < ActiveRecord::Base
 
   belongs_to :changeset
 
-  has_many :old_relations, :foreign_key => 'id', :order => 'version'
+  has_many :old_relations, :order => 'version'
 
-  has_many :relation_members, :foreign_key => 'id', :order => 'sequence_id'
-  has_many :relation_tags, :foreign_key => 'id'
+  has_many :relation_members, :order => 'sequence_id'
+  has_many :relation_tags
 
   has_many :containing_relation_members, :class_name => "RelationMember", :as => :member
   has_many :containing_relations, :class_name => "Relation", :through => :containing_relation_members, :source => :relation, :extend => ObjectFinder
@@ -348,12 +348,12 @@ class Relation < ActiveRecord::Base
       # if there are left-over tags then they are new and will have to
       # be added.
       tags_changed |= (not tags.empty?)
-      RelationTag.delete_all(:id => self.id)
+      RelationTag.delete_all(:relation_id => self.id)
       self.tags.each do |k,v|
         tag = RelationTag.new
+        tag.relation_id = self.id
         tag.k = k
         tag.v = v
-        tag.id = self.id
         tag.save!
       end
       
@@ -378,10 +378,11 @@ class Relation < ActiveRecord::Base
       # members may be in a different order and i don't feel like implementing
       # a longest common subsequence algorithm to optimise this.
       members = self.members
-      RelationMember.delete_all(:id => self.id)
+      RelationMember.delete_all(:relation_id => self.id)
       members.each_with_index do |m,i|
         mem = RelationMember.new
-        mem.id = [self.id, i]
+        mem.relation_id = self.id
+        mem.sequence_id = i
         mem.member_type = m[0]
         mem.member_id = m[1]
         mem.member_role = m[2]
index 82cb4cc8d288669fdb82ceca90febdaf41375b30..389e2ce5234cded24bba7548a567e6b7b9dee124 100644 (file)
@@ -1,10 +1,9 @@
 class RelationMember < ActiveRecord::Base
-  set_table_name 'current_relation_members'
-  
-  set_primary_keys :id, :sequence_id
+  set_table_name 'current_relation_members'  
+  set_primary_keys :relation_id, :sequence_id
 
+  belongs_to :relation
   belongs_to :member, :polymorphic => true
-  belongs_to :relation, :foreign_key => :id
 
   after_find :set_class_from_type
   after_initialize :set_class_from_type
index 812b2ec3592f7f866a28b27b79259839b8658ad6..2773d0612a30ec2b329df102a9d1f75944fc8664 100644 (file)
@@ -1,10 +1,11 @@
 class RelationTag < ActiveRecord::Base
   set_table_name 'current_relation_tags'
+  set_primary_keys :relation_id, :k
 
-  belongs_to :relation, :foreign_key => 'id'
+  belongs_to :relation
 
-  validates_presence_of :id
-  validates_length_of :k, :v, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :id, :scope => :k
-  validates_numericality_of :id, :only_integer => true
+  validates_presence_of :relation
+  validates_length_of :k, :maximum => 255, :allow_blank => true
+  validates_uniqueness_of :k, :scope => :relation_id
+  validates_length_of :v, :maximum => 255, :allow_blank => true
 end
index 74fdfed34bc79e8b803549581690a440dc57b20c..b1870fc8911a373f5742c17e260642c67d01c134 100644 (file)
@@ -7,12 +7,12 @@ class Way < ActiveRecord::Base
   
   belongs_to :changeset
 
-  has_many :old_ways, :foreign_key => 'id', :order => 'version'
+  has_many :old_ways, :order => 'version'
 
-  has_many :way_nodes, :foreign_key => 'id', :order => 'sequence_id'
+  has_many :way_nodes, :order => 'sequence_id'
   has_many :nodes, :through => :way_nodes, :order => 'sequence_id'
 
-  has_many :way_tags, :foreign_key => 'id'
+  has_many :way_tags
 
   has_many :containing_relation_members, :class_name => "RelationMember", :as => :member
   has_many :containing_relations, :class_name => "Relation", :through => :containing_relation_members, :source => :relation, :extend => ObjectFinder
@@ -320,17 +320,17 @@ class Way < ActiveRecord::Base
       self.save!
 
       tags = self.tags
-      WayTag.delete_all(['id = ?', self.id])
+      WayTag.delete_all(:way_id => self.id)
       tags.each do |k,v|
         tag = WayTag.new
+        tag.way_id = self.id
         tag.k = k
         tag.v = v
-        tag.id = self.id
         tag.save!
       end
 
       nds = self.nds
-      WayNode.delete_all(['id = ?', self.id])
+      WayNode.delete_all(:way_id => self.id)
       sequence = 1
       nds.each do |n|
         nd = WayNode.new
@@ -358,5 +358,4 @@ class Way < ActiveRecord::Base
       cs.save!
     end
   end
-
 end
index 957016b9dd6fd91d1b50b7b54faffc060888a66b..1a2e6928a5e9289dba8a711c467a830eb013ef3f 100644 (file)
@@ -1,8 +1,7 @@
 class WayNode < ActiveRecord::Base
   set_table_name 'current_way_nodes'
+  set_primary_keys :way_id, :sequence_id
 
-  set_primary_keys :id, :sequence_id
+  belongs_to :way
   belongs_to :node
-
-  belongs_to :way, :foreign_key => :id
 end
index fa9b4336177061287d00d4b153a9da6cef28c6a9..f0c5eea8b9e6900587340ff022d2fb5e42b85440 100644 (file)
@@ -1,14 +1,11 @@
 class WayTag < ActiveRecord::Base
   set_table_name 'current_way_tags'
+  set_primary_keys :way_id, :k
 
-  # False multipart keys. The following would be a hack:
-  # set_primary_keys :id, :k, :v
-  # FIXME add a real multipart key to waytags so that we can do eager loadin
-
-  belongs_to :way, :foreign_key => 'id'
+  belongs_to :way
   
-  validates_presence_of :id
-  validates_length_of :k, :v, :maximum => 255, :allow_blank => true
-  validates_uniqueness_of :id, :scope => :k
-  validates_numericality_of :id, :only_integer => true
+  validates_presence_of :way
+  validates_length_of :k, :maximum => 255, :allow_blank => true
+  validates_uniqueness_of :k, :scope => :way_id
+  validates_length_of :v, :maximum => 255, :allow_blank => true
 end
diff --git a/db/migrate/20110925112722_rename_ids.rb b/db/migrate/20110925112722_rename_ids.rb
new file mode 100644 (file)
index 0000000..9cdbaaa
--- /dev/null
@@ -0,0 +1,18 @@
+class RenameIds < ActiveRecord::Migration
+  def change
+    rename_column :changeset_tags, :id, :changeset_id
+    rename_column :current_node_tags, :id, :node_id
+    rename_column :nodes, :id, :node_id
+    rename_column :node_tags, :id, :node_id
+    rename_column :current_way_tags, :id, :way_id
+    rename_column :current_way_nodes, :id, :way_id
+    rename_column :ways, :id, :way_id
+    rename_column :way_tags, :id, :way_id
+    rename_column :way_nodes, :id, :way_id
+    rename_column :current_relation_tags, :id, :relation_id
+    rename_column :current_relation_members, :id, :relation_id
+    rename_column :relations, :id, :relation_id
+    rename_column :relation_tags, :id, :relation_id
+    rename_column :relation_members, :id, :relation_id
+  end
+end
index 2292f0dfc43fb7d9d9a645b5860707153a73cb52..ab5968b87d4c90a711bc0908fd5f60e495748f39 100644 (file)
@@ -1,9 +1,9 @@
 changeset_1_tag_1: 
-  id: 1
+  changeset_id: 1
   k: created_by
   v: test suite yml
   
 changeset_2_tag_1: 
-  id: 2
+  changeset_id: 2
   k: created_by
   v: test suite yml 2
index 8d5202e900a27887f44a194bd7bb2c90fd17c0d7..5087310e7dbd0953d21dc4d01e74282ab965ed10 100644 (file)
@@ -1,35 +1,35 @@
 t1:
-  id: 1
+  node_id: 1
   k: 'testvisible'
   v: 'yes'
 
 t2:
-  id: 2
+  node_id: 2
   k: 'testused'
   v: 'yes'
 
 t3:
-  id: 3
+  node_id: 3
   k: 'test'
   v: 'yes'
 
 t4:
-  id: 4
+  node_id: 4
   k: 'test'
   v: 'yes'
 
 nv_t1:
-  id: 15
+  node_id: 15
   k: 'testing'
   v: 'added in node version 3'
 
 nv_t2:
-  id: 15
+  node_id: 15
   k: 'testing two'
   v: 'modified in node version 4'
   
 public_v_t1:
-  id: 16
+  node_id: 16
   k: 'testvisible'
   v: 'yes'
 
index b9703827c7cedbfbb56586026b007e194aae9f25..31dccbc229c5e8d2c486f0a837b81559b5c1b817 100644 (file)
@@ -1,35 +1,35 @@
 t1:
-  id: 1
+  relation_id: 1
   member_role: "some"
   member_type: "Way"
   member_id: 3
 
 t2:
-  id: 1
+  relation_id: 1
   member_role: "some"
   member_type: "Node"
   member_id: 5
 
 t3:
-  id: 1
+  relation_id: 1
   member_role: "some"
   member_type: "Relation"
   member_id: 3
 
 t4:
-  id: 3
+  relation_id: 3
   member_role: "some"
   member_type: "Node"
   member_id: 5
 
 t5:
-  id: 2
+  relation_id: 2
   member_role: "some"
   member_type: "Node"
   member_id: 5
   
 public_used:
-  id: 6
+  relation_id: 6
   member_role: "used by other relation"
   member_type: "Relation"
   member_id: 5
index a797a336ce2be9ad4cd38380f5025edffc577a71..6030b985327232b0f791a675bc11d844e4658de2 100644 (file)
@@ -1,34 +1,34 @@
 t1:
-  id: 1
+  relation_id: 1
   k: 'test'
   v: 'yes'
 
 t2:
-  id: 2
+  relation_id: 2
   k: 'test'
   v: 'yes'
 
 t3:
-  id: 3
+  relation_id: 3
   k: 'test'
   v: 'yes'
 
 mt_1:
-  id: 4
+  relation_id: 4
   k: 'tag1'
   v: 'val1'
 
 mt_2:
-  id: 4
+  relation_id: 4
   k: 'tag2'
   v: 'val2'
 
 mt_3:
-  id: 4
+  relation_id: 4
   k: 'tag3'
   v: 'val3'
 
 mt_4:
-  id: 4
+  relation_id: 4
   k: 'tag4'
   v: 'val4'
index ced1a686c5099b9596b613d5faa50d105fd88fde..75c4a9981ff154f70b66c8eb913d85c0afba8a14 100644 (file)
@@ -1,29 +1,29 @@
 t1:
-  id: 1
+  way_id: 1
   node_id: 3
   sequence_id: 1
 
 t2:
-  id: 2
+  way_id: 2
   node_id: 3
   sequence_id: 1
 
 t3:
-  id: 3
+  way_id: 3
   node_id: 3
   sequence_id: 1
 
 t4:
-  id: 4
+  way_id: 4
   node_id: 15
   sequence_id: 1
 
 w5_n1:
-  id: 5
+  way_id: 5
   node_id: 4
   sequence_id: 1
 
 w5_n2:
-  id: 5
+  way_id: 5
   node_id: 4
   sequence_id: 2
index c1ef21d573a2eecbb9ca46a9f066d129499ce73f..c2c27414d9a6423addb3bd78d9682923b670b387 100644 (file)
@@ -1,15 +1,15 @@
 t1:
-  id: 1
+  way_id: 1
   k: 'test'
   v: 'yes'
 
 t2:
-  id: 2
+  way_id: 2
   k: 'test'
   v: 'yes'
 
 t3:
-  id: 3
+  way_id: 3
   k: 'test'
   v: 'yes'
 
index b02291300dad57373fc5cddc26987c031a08ffec..6b908aa54c724c81717d8e7bdf34369f6a193bbf 100644 (file)
@@ -1,53 +1,53 @@
 t1:
-  id: 1
+  node_id: 1
   k: 'testvisible'
   v: 'yes'
   version: 1
 
 t2:
-  id: 3
+  node_id: 3
   k: 'test'
   v: 'yes'
   version: 1
 
 t3:
-  id: 4
+  node_id: 4
   k: 'test'
   v: 'yes'
   version: 1
 
 nv3_t1:
-  id: 15
+  node_id: 15
   k: 'testing'
   v: 'added in node version 3'
   version: 3
 
 nv3_t2:
-  id: 15
+  node_id: 15
   k: 'testing two'
   v: 'added in node version 3'
   version: 3
 
 nv3_t3:
-  id: 15
+  node_id: 15
   k: 'testing three'
   v: 'added in node version 3'
   version: 3
 
 nv4_t1:
-  id: 15
+  node_id: 15
   k: 'testing'
   v: 'added in node version 3'
   version: 4
 
 nv4_t2:
-  id: 15
+  node_id: 15
   k: 'testing two'
   v: 'modified in node version 4'
   version: 4
   
 public_v_t1:
-  id: 16
+  node_id: 16
   k: 'testvisible'
   v: 'yes'
   version: 1
index d23a7c014cf7666b78303b6482527dbe4ad138ca..5125e7146b6f78be20e627899a14d0200f617613 100644 (file)
@@ -2,7 +2,7 @@
 <% SCALE = 10000000 unless defined?(SCALE) %>
 
 visible_node:
-  id: 1
+  node_id: 1
   latitude: <%= 1*SCALE %>
   longitude: <%= 1*SCALE %>
   changeset_id: 1
@@ -12,7 +12,7 @@ visible_node:
   timestamp: 2007-01-01 00:00:00
 
 invisible_node:
-  id: 2
+  node_id: 2
   latitude: <%= 2*SCALE %>
   longitude: <%= 2*SCALE %>
   changeset_id: 1
@@ -22,7 +22,7 @@ invisible_node:
   timestamp: 2007-01-01 00:00:00
 
 used_node_1:
-  id: 3
+  node_id: 3
   latitude: <%= 3*SCALE %>
   longitude: <%= 3*SCALE %>
   changeset_id: 2
@@ -32,7 +32,7 @@ used_node_1:
   timestamp: 2007-01-01 00:00:00
 
 used_node_2:
-  id: 4
+  node_id: 4
   latitude: <%= 4*SCALE %>
   longitude: <%= 4*SCALE %>
   changeset_id: 1
@@ -42,7 +42,7 @@ used_node_2:
   timestamp: 2007-01-01 00:00:00
 
 node_used_by_relationship:
-  id: 5
+  node_id: 5
   latitude: <%= 5*SCALE %>
   longitude: <%= 5*SCALE %>
   changeset_id: 2
@@ -52,7 +52,7 @@ node_used_by_relationship:
   timestamp: 2007-01-01 00:00:00
 
 node_too_far_north:
-  id: 6
+  node_id: 6
   latitude: <%= 90.01*SCALE %>
   longitude: <%= 6*SCALE %>
   changeset_id: 5
@@ -62,7 +62,7 @@ node_too_far_north:
   timestamp: 2007-01-01 00:00:00
   
 node_north_limit:
-  id: 11
+  node_id: 11
   latitude: <%= 90*SCALE %>
   longitude: <%= 11*SCALE %>
   changeset_id: 5
@@ -72,7 +72,7 @@ node_north_limit:
   timestamp: 2008-07-08 14:50:00
   
 node_too_far_south:
-  id: 7
+  node_id: 7
   latitude: <%= -90.01*SCALE %>
   longitude: <%= 7*SCALE %>
   changeset_id: 5
@@ -82,7 +82,7 @@ node_too_far_south:
   timestamp: 2007-01-01 00:00:00
   
 node_south_limit:
-  id: 12
+  node_id: 12
   latitude: <%= -90*SCALE %>
   longitude: <%= 12*SCALE %>
   changeset_id: 5
@@ -92,7 +92,7 @@ node_south_limit:
   timestamp: 2008-07-08 15:02:18
   
 node_too_far_west:
-  id: 8
+  node_id: 8
   latitude: <%= 8*SCALE %>
   longitude: <%= -180.01*SCALE %>
   changeset_id: 5
@@ -102,7 +102,7 @@ node_too_far_west:
   timestamp: 2007-01-01 00:00:00
   
 node_west_limit:
-  id: 13
+  node_id: 13
   latitude: <%= 13*SCALE %>
   longitude: <%= -180*SCALE %>
   changeset_id: 5
@@ -112,7 +112,7 @@ node_west_limit:
   timestamp: 2008-07-08 15:17:37
   
 node_too_far_east:
-  id: 9
+  node_id: 9
   latitude: <%= 9*SCALE %>
   longitude: <%= 180.01*SCALE %>
   changeset_id: 5
@@ -122,7 +122,7 @@ node_too_far_east:
   timestamp: 2007-01-01 00:00:00
   
 node_east_limit:
-  id: 14
+  node_id: 14
   latitude: <%= 14*SCALE %>
   longitude: <%= 180*SCALE %>
   changeset_id: 5
@@ -132,7 +132,7 @@ node_east_limit:
   timestamp: 2008-07-08 15:46:16
 
 node_totally_wrong:
-  id: 10
+  node_id: 10
   latitude: <%= 200*SCALE %>
   longitude: <%= 200*SCALE %>
   changeset_id: 5
@@ -142,7 +142,7 @@ node_totally_wrong:
   timestamp: 2007-01-01 00:00:00
   
 node_with_versions_v1:
-  id: 15
+  node_id: 15
   latitude: <%= 1*SCALE %>
   longitude: <%= 1*SCALE %>
   changeset_id: 4
@@ -152,7 +152,7 @@ node_with_versions_v1:
   timestamp: 2008-01-01 00:01:00
 
 node_with_versions_v2:
-  id: 15
+  node_id: 15
   latitude: <%= 2*SCALE %>
   longitude: <%= 2*SCALE %>
   changeset_id: 4
@@ -162,7 +162,7 @@ node_with_versions_v2:
   timestamp: 2008-01-01 00:02:00
 
 node_with_versions_v3:
-  id: 15
+  node_id: 15
   latitude: <%= 1*SCALE %>
   longitude: <%= 1*SCALE %>
   changeset_id: 4
@@ -172,7 +172,7 @@ node_with_versions_v3:
   timestamp: 2008-01-01 00:03:00
 
 node_with_versions_v4:
-  id: 15
+  node_id: 15
   latitude: <%= 1*SCALE %>
   longitude: <%= 1*SCALE %>
   changeset_id: 4
@@ -182,7 +182,7 @@ node_with_versions_v4:
   timestamp: 2008-01-01 00:04:00
   
 public_visible_node:
-  id: 16
+  node_id: 16
   latitude: <%= 1*SCALE %>
   longitude: <%= 1*SCALE %>
   changeset_id: 2
index c65deca32a323947c2b6e2739c14070190ecdbf8..931728dc7b8c843bd20aac074c8d91c4ddd7b218 100644 (file)
@@ -1,37 +1,37 @@
 t1:
-  id: 1
+  relation_id: 1
   member_role: "some"
   member_type: "Way"
   member_id: 3
   version: 1
 t2:
-  id: 1
+  relation_id: 1
   member_role: "some"
   member_type: "Node"
   member_id: 5
   version: 1
 t3:
-  id: 1
+  relation_id: 1
   member_role: "some"
   member_type: "Relation"
   member_id: 3
   version: 1
 t4:
-  id: 3
+  relation_id: 3
   member_role: "some"
   member_type: "Node"
   member_id: 5
   version: 1
 
 t5:
-  id: 2
+  relation_id: 2
   member_role: "some"
   member_type: "Node"
   member_id: 5
   version: 1
   
 public_used:
-  id: 6
+  relation_id: 6
   member_role: "used by other relation"
   member_type: "Relation"
   member_id: 5
index f7571c30133d5ed344cf62f84c92bb142bba8a38..31b329ed75c941d4cc9a6d5655ea190608981902 100644 (file)
@@ -1,41 +1,41 @@
 t1:
-  id: 1
+  relation_id: 1
   k: 'test'
   v: 'yes'
   version: 1
 
 t2:
-  id: 2
+  relation_id: 2
   k: 'test'
   v: 'yes'
   version: 1
 
 t3:
-  id: 3
+  relation_id: 3
   k: 'test'
   v: 'yes'
   version: 1
 
 mt_1:
-  id: 4
+  relation_id: 4
   k: 'tag1'
   v: 'val1'
   version: 1
 
 mt_2:
-  id: 4
+  relation_id: 4
   k: 'tag2'
   v: 'val2'
   version: 1
 
 mt_3:
-  id: 4
+  relation_id: 4
   k: 'tag3'
   v: 'val3'
   version: 1
 
 mt_4:
-  id: 4
+  relation_id: 4
   k: 'tag4'
   v: 'val4'
   version: 1
index 3ec80ecaee7613248d236f1534a3202e52640113..059528f62649ad0f186728888d23ab9ae065a477 100644 (file)
@@ -1,40 +1,40 @@
 visible_relation:
-  id: 1
+  relation_id: 1
   changeset_id: 1
   timestamp: 2007-01-01 00:00:00
   visible: true
   version: 1
 
 invisible_relation:
-  id: 2
+  relation_id: 2
   changeset_id: 3
   timestamp: 2007-01-01 00:00:00
   visible: false
   version: 1
 
 used_relation:
-  id: 3
+  relation_id: 3
   changeset_id: 1
   timestamp: 2007-01-01 00:00:00
   visible: true
   version: 1
   
 multi_tag_relation:
-  id: 4
+  relation_id: 4
   changeset_id: 4
   timestamp: 2009-04-21 09:50:57
   visible: true
   version: 1
   
 public_used_relation:
-  id: 5
+  relation_id: 5
   changeset_id: 2
   timestamp: 2009-04-22 00:30:03
   visible: true
   version: 1
   
 public_visible_relation:
-  id: 6
+  relation_id: 6
   changeset_id: 2
   timestamp: 2009-04-22 00:34:12
   visible: true
index 3f7a3dbde9103871d21e1d45bae75729f475c6fd..19541d19aac7e2bc080fe44f7f0fc3fdc3ef3117 100644 (file)
@@ -1,77 +1,77 @@
 t1a:
-  id: 1
+  way_id: 1
   node_id: 3
   sequence_id: 1
   version: 1
   
 t2:
-  id: 2
+  way_id: 2
   node_id: 3
   sequence_id: 1
   version: 1
 
 t3:
-  id: 3
+  way_id: 3
   node_id: 3
   sequence_id: 1
   version: 1
 
 w4_v1_n1:
-  id: 4
+  way_id: 4
   node_id: 3
   sequence_id: 1
   version: 1
 
 w4_v1_n2:
-  id: 4
+  way_id: 4
   node_id: 4
   sequence_id: 2
   version: 1
 
 w4_v2_n1:
-  id: 4
+  way_id: 4
   node_id: 15
   sequence_id: 1
   version: 2
 
 w4_v2_n2:
-  id: 4
+  way_id: 4
   node_id: 3
   sequence_id: 2
   version: 2
 
 w4_v2_n3:
-  id: 4
+  way_id: 4
   node_id: 4
   sequence_id: 3
   version: 2
 
 w4_v3_n1:
-  id: 4
+  way_id: 4
   node_id: 15
   sequence_id: 1
   version: 3
 
 w4_v3_n2:
-  id: 4
+  way_id: 4
   node_id: 3
   sequence_id: 2
   version: 3
 
 w4_v4_n1:
-  id: 4
+  way_id: 4
   node_id: 15
   sequence_id: 1
   version: 4
 
 w5_n1:
-  id: 5
+  way_id: 5
   node_id: 4
   sequence_id: 1
   version: 1
 
 w5_n2:
-  id: 5
+  way_id: 5
   node_id: 4
   sequence_id: 2
   version: 1
index 7e671672d5e4079b9ec3926dd1a478cdadbd15ff..dc727b5f5cd8416c89bf750e6f9753d4ecc3c77b 100644 (file)
@@ -1,17 +1,17 @@
 t1:
-  id: 1
+  way_id: 1
   k: 'test'
   v: 'yes'
   version: 1
 
 t2:
-  id: 2
+  way_id: 2
   k: 'test'
   v: 'yes'
   version: 1
 
 t3:
-  id: 3
+  way_id: 3
   k: 'test'
   v: 'yes'
   version: 1
index 090508702cfbe87ca60cfe299d2cb0e490faaf6c..95c001c30fcaa6e34dd2298f94e27fcc42cb676b 100644 (file)
@@ -1,54 +1,54 @@
 visible_way:
-  id: 1
+  way_id: 1
   changeset_id: 2
   timestamp: 2007-01-01 00:00:00
   visible: true
   version: 1
 
 invisible_way:
-  id: 2
+  way_id: 2
   changeset_id: 2
   timestamp: 2007-01-01 00:00:00
   visible: false
   version: 1
 
 used_way:
-  id: 3
+  way_id: 3
   changeset_id: 2
   timestamp: 2007-01-01 00:00:00
   visible: true
   version: 1
 
 way_with_versions_v1:
-  id: 4
+  way_id: 4
   changeset_id: 4
   timestamp: 2008-01-01 00:01:00
   visible: true
   version: 1
 
 way_with_versions_v2:
-  id: 4
+  way_id: 4
   changeset_id: 4
   timestamp: 2008-01-01 00:02:00
   visible: true
   version: 2
 
 way_with_versions:
-  id: 4
+  way_id: 4
   changeset_id: 4
   timestamp: 2008-01-01 00:03:00
   visible: true
   version: 3
 
 way_with_versions_v4:
-  id: 4
+  way_id: 4
   changeset_id: 4
   timestamp: 2008-01-01 00:04:00
   visible: true
   version: 4
 
 way_with_duplicate_nodes:
-  id: 5
+  way_id: 5
   changeset_id: 2
   timestamp: 2007-01-01 00:00:00
   visible: true
index 1ed8ebf485cc365d8c5864028f18400b8d199789..8bef10bd15628d41cc9d9270d62aa7260d063580 100644 (file)
@@ -208,16 +208,16 @@ class AmfControllerTest < ActionController::TestCase
     # instead of a version number...
     # try to get version 1
     v1 = ways(:way_with_versions_v1)
-    { latest => '', 
-      v1 => v1.timestamp.strftime("%d %b %Y, %H:%M:%S")
-    }.each do |way, t|
-      amf_content "getway_old", "/1", [way.id, t]
+    { latest.id => '', 
+      v1.way_id => v1.timestamp.strftime("%d %b %Y, %H:%M:%S")
+    }.each do |id, t|
+      amf_content "getway_old", "/1", [id, t]
       post :amf_read      
       assert_response :success
       amf_parse_response
       returned_way = amf_result("/1")
       assert_equal 0, returned_way[0]
-      assert_equal way.id, returned_way[2]
+      assert_equal id, returned_way[2]
       # API returns the *latest* version, even for old ways...
       assert_equal latest.version, returned_way[5]
     end
@@ -251,11 +251,11 @@ class AmfControllerTest < ActionController::TestCase
     v1 = ways(:way_with_versions_v1)
     # try to get last visible version of non-existent way
     # try to get specific version of non-existent way
-    [[nil, ''], 
-     [nil, '1 Jan 1970, 00:00:00'], 
-     [v1, (v1.timestamp - 10).strftime("%d %b %Y, %H:%M:%S")]
-    ].each do |way, t|
-      amf_content "getway_old", "/1", [way.nil? ? 0 : way.id, t]
+    [[0, ''], 
+     [0, '1 Jan 1970, 00:00:00'], 
+     [v1.way_id, (v1.timestamp - 10).strftime("%d %b %Y, %H:%M:%S")]
+    ].each do |id, t|
+      amf_content "getway_old", "/1", [id, t]
       post :amf_read
       assert_response :success
       amf_parse_response
@@ -398,7 +398,7 @@ class AmfControllerTest < ActionController::TestCase
     # Finally check that the node that was saved has saved the data correctly 
     # in both the current and history tables
     # First check the current table
-    current_node = Node.find(result[3])
+    current_node = Node.find(result[3].to_i)
     assert_in_delta lat, current_node.lat, 0.00001, "The latitude was not retreieved correctly"
     assert_in_delta lon, current_node.lon, 0.00001, "The longitude was not retreived correctly"
     assert_equal 0, current_node.tags.size, "There seems to be a tag that has been added to the node"
@@ -437,7 +437,7 @@ class AmfControllerTest < ActionController::TestCase
     # Finally check that the node that was saved has saved the data correctly 
     # in both the current and history tables
     # First check the current table
-    current_node = Node.find(result[3])
+    current_node = Node.find(result[3].to_i)
     assert_in_delta lat, current_node.lat, 0.00001, "The latitude was not retreieved correctly"
     assert_in_delta lon, current_node.lon, 0.00001, "The longitude was not retreived correctly"
     assert_equal 2, current_node.tags.size, "There seems to be a tag that has been added to the node"
@@ -483,7 +483,7 @@ class AmfControllerTest < ActionController::TestCase
     # Finally check that the node that was saved has saved the data correctly 
     # in both the current and history tables
     # First check the current table
-    current_node = Node.find(result[3])
+    current_node = Node.find(result[3].to_i)
     assert_equal 1, current_node.tags.size, "There seems to be a tag that has been added to the node"
     assert_equal({ "something" => "foo\t\n\rbar" }, current_node.tags, "tags were not fixed correctly")
     assert_equal result[4], current_node.version, "The version returned, is different to the one returned by the amf"
@@ -541,7 +541,7 @@ class AmfControllerTest < ActionController::TestCase
 
     assert_equal 3, result.size, result.inspect
     assert_equal 0, result[0]
-    new_cs_id = result[2]
+    new_cs_id = result[2].to_i
 
     cs = Changeset.find(new_cs_id)
     assert_equal "foobar", cs.tags["comment"]
index 2fa59429828e4f98e4bae8d94b79344d1d5dfb5c..525c879f1118923d36753a20ff43c5f19e99563d 100644 (file)
@@ -10,45 +10,45 @@ class BrowseControllerTest < ActionController::TestCase
   end
   
   def test_read_relation
-    browse_check 'relation', relations(:visible_relation)
+    browse_check 'relation', relations(:visible_relation).relation_id
   end
   
   def test_read_relation_history
-    browse_check 'relation_history', relations(:visible_relation)
+    browse_check 'relation_history', relations(:visible_relation).relation_id
   end
   
   def test_read_way
-    browse_check 'way', ways(:visible_way)
+    browse_check 'way', ways(:visible_way).way_id
   end
   
   def test_read_way_history
-    browse_check 'way_history', ways(:visible_way)
+    browse_check 'way_history', ways(:visible_way).way_id
   end
   
   def test_read_node
-    browse_check 'node', nodes(:visible_node)
+    browse_check 'node', nodes(:visible_node).node_id
   end
   
   def test_read_node_history
-    browse_check 'node_history', nodes(:visible_node)
+    browse_check 'node_history', nodes(:visible_node).node_id
   end
   
   def test_read_changeset
-    browse_check 'changeset', changesets(:normal_user_first_change)
+    browse_check 'changeset', changesets(:normal_user_first_change).id
   end
   
   # This is a convenience method for most of the above checks
   # First we check that when we don't have an id, it will correctly return a 404
   # then we check that we get the correct 404 when a non-existant id is passed
   # then we check that it will get a successful response, when we do pass an id
-  def browse_check(type, fixture
+  def browse_check(type, id
     get type
     assert_response :not_found
     assert_template 'not_found'
     get type, {:id => -10} # we won't have an id that's negative
     assert_response :not_found
     assert_template 'not_found'
-    get type, {:id => fixture.id}
+    get type, {:id => id}
     assert_response :success
     assert_template type
   end
index 964e18a12a133d220e78254ce038bab7af59b1f1..ef80433403e05b0d11ffc615159053aa10b37d6a 100644 (file)
@@ -1282,10 +1282,10 @@ EOF
     # FIXME needs more assert_select tests
     assert_select "osmChange[version='#{API_VERSION}'][generator='#{GENERATOR}']" do
       assert_select "create", :count => 5
-      assert_select "create>node[id=#{nodes(:used_node_2).id}][visible=#{nodes(:used_node_2).visible?}][version=#{nodes(:used_node_2).version}]" do
+      assert_select "create>node[id=#{nodes(:used_node_2).node_id}][visible=#{nodes(:used_node_2).visible?}][version=#{nodes(:used_node_2).version}]" do
         assert_select "tag[k=#{node_tags(:t3).k}][v=#{node_tags(:t3).v}]"
       end
-      assert_select "create>node[id=#{nodes(:visible_node).id}]"
+      assert_select "create>node[id=#{nodes(:visible_node).node_id}]"
     end
   end
   
index 3fc2d83f659a3fa946c649563a188a9aec966168..fdefd0896065f2dc521f31f4f41bce72ff9e77a0 100644 (file)
@@ -101,7 +101,7 @@ class NodeControllerTest < ActionController::TestCase
     content("<osm><node lat='#{lat}' lon='#{lon}' changeset='#{changeset.id}'><tag k='foo' v='#{'x'*256}'/></node></osm>")
     put :create
     assert_response :bad_request, "node upload did not return bad_request status"
-    assert_equal ["NodeTag ", " v: is too long (maximum is 255 characters) (\"#{'x'*256}\")"], @response.body.split(/[0-9]+:/)
+    assert_equal ["NodeTag ", " v: is too long (maximum is 255 characters) (\"#{'x'*256}\")"], @response.body.split(/[0-9]+,foo:/)
 
   end
 
index a52211e2e15485ee28c7acb1eacfacf538601c18..54e1cd037fad660bfc39ef2e4604b18db6550d20 100644 (file)
@@ -9,13 +9,11 @@ class OldRelationControllerTest < ActionController::TestCase
   # -------------------------------------
   def test_history
     # check that a visible relations is returned properly
-    get :history, :id => relations(:visible_relation).id
+    get :history, :id => relations(:visible_relation).relation_id
     assert_response :success
 
     # check chat a non-existent relations is not returned
     get :history, :id => 0
     assert_response :not_found
-
   end
-
 end
index 31da1d2c784bb18d6598cbc52a486b77760343d7..9dd542c525490856d9c826df7ae67d075e350273 100644 (file)
@@ -10,13 +10,13 @@ class OldWayControllerTest < ActionController::TestCase
 
   def test_history_visible
     # check that a visible way is returned properly
-    get :history, :id => ways(:visible_way).id
+    get :history, :id => ways(:visible_way).way_id
     assert_response :success
   end
   
   def test_history_invisible
     # check that an invisible way's history is returned properly
-    get :history, :id => ways(:invisible_way).id
+    get :history, :id => ways(:invisible_way).way_id
     assert_response :success
   end
   
index 4854432c48f7f9f1bdfae24dfdd1f7a01a8282bf..2939613c80eaa731ff584d247d35f9f7734ab372 100644 (file)
@@ -11,7 +11,7 @@ class ChangesetTagTest < ActiveSupport::TestCase
     key = "k"
     (0..255).each do |i|
       tag = ChangesetTag.new
-      tag.id = 1
+      tag.changeset_id = 1
       tag.k = key*i
       tag.v = "v"
       assert tag.valid?
@@ -22,7 +22,7 @@ class ChangesetTagTest < ActiveSupport::TestCase
     val = "v"
     (0..255).each do |i|
       tag = ChangesetTag.new
-      tag.id = 1
+      tag.changeset_id = 1
       tag.k = "k"
       tag.v = val*i
       assert tag.valid?
@@ -32,7 +32,7 @@ class ChangesetTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     ["k"*256].each do |k|
       tag = ChangesetTag.new
-      tag.id = 1
+      tag.changeset_id = 1
       tag.k = k
       tag.v = "v"
       assert !tag.valid?, "Key #{k} should be too long"
@@ -43,7 +43,7 @@ class ChangesetTagTest < ActiveSupport::TestCase
   def test_length_value_invalid
     ["v"*256].each do |v|
       tag = ChangesetTag.new
-      tag.id = 1
+      tag.changeset_id = 1
       tag.k = "k"
       tag.v = v
       assert !tag.valid?, "Value #{v} should be too long"
@@ -54,12 +54,12 @@ class ChangesetTagTest < ActiveSupport::TestCase
   def test_empty_tag_invalid
     tag = ChangesetTag.new
     assert !tag.valid?, "Empty tag should be invalid"
-    assert tag.errors[:id].any?
+    assert tag.errors[:changeset].any?
   end
   
   def test_uniqueness
     tag = ChangesetTag.new
-    tag.id = changeset_tags(:changeset_1_tag_1).id
+    tag.changeset_id = changeset_tags(:changeset_1_tag_1).id
     tag.k = changeset_tags(:changeset_1_tag_1).k
     tag.v = changeset_tags(:changeset_1_tag_1).v
     assert tag.new_record?
index c4ebd2c6e8253edeef14f785eb99c5e4c21ecb59..2f26317925066a267a69577f6ce7bb5553960602 100644 (file)
@@ -21,7 +21,7 @@ class NodeTagTest < ActiveSupport::TestCase
     key = "k"
     (0..255).each do |i|
       tag = NodeTag.new
-      tag.id = current_node_tags(:t1).id
+      tag.node_id = current_node_tags(:t1).node_id
       tag.k = key*i
       tag.v = "v"
       assert tag.valid?
@@ -32,7 +32,7 @@ class NodeTagTest < ActiveSupport::TestCase
     val = "v"
     (0..255).each do |i|
       tag = NodeTag.new
-      tag.id = current_node_tags(:t1).id
+      tag.node_id = current_node_tags(:t1).node_id
       tag.k = "k"
       tag.v = val*i
       assert tag.valid?
@@ -42,7 +42,7 @@ class NodeTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     ["k"*256].each do |i|
       tag = NodeTag.new
-      tag.id = current_node_tags(:t1).id
+      tag.node_id = current_node_tags(:t1).node_id
       tag.k = i
       tag.v = "v"
       assert !tag.valid?, "Key should be too long"
@@ -53,7 +53,7 @@ class NodeTagTest < ActiveSupport::TestCase
   def test_length_value_invalid
     ["k"*256].each do |i|
       tag = NodeTag.new
-      tag.id = current_node_tags(:t1).id
+      tag.node_id = current_node_tags(:t1).node_id
       tag.k = "k"
       tag.v = i
       assert !tag.valid?, "Value should be too long"
@@ -64,12 +64,12 @@ class NodeTagTest < ActiveSupport::TestCase
   def test_empty_node_tag_invalid
     tag = NodeTag.new
     assert !tag.valid?, "Empty tag should be invalid"
-    assert tag.errors[:id].any?
+    assert tag.errors[:node].any?
   end
   
   def test_uniqueness
     tag = NodeTag.new
-    tag.id = current_node_tags(:t1).id
+    tag.node_id = current_node_tags(:t1).node_id
     tag.k = current_node_tags(:t1).k
     tag.v = current_node_tags(:t1).v
     assert tag.new_record?
index 24300e42883e82f9996f6b5ef4557b7808380e3a..6bfcf79262b4c6798d2615d27a7cc2d9fe7a55fe 100644 (file)
@@ -8,7 +8,7 @@ class NodeTest < ActiveSupport::TestCase
   end
 
   def test_node_too_far_north
-         invalid_node_test(:node_too_far_north)
+    invalid_node_test(:node_too_far_north)
   end
   
   def test_node_north_limit
@@ -92,8 +92,8 @@ class NodeTest < ActiveSupport::TestCase
     assert_equal node_template.visible, node.visible
     assert_equal node_template.timestamp.to_i, node.timestamp.to_i
 
-    assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
-    old_node = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
+    assert_equal OldNode.where(:node_id => node_template.id).count, 1
+    old_node = OldNode.where(:node_id => node_template.id).first
     assert_not_nil old_node
     assert_equal node_template.latitude, old_node.latitude
     assert_equal node_template.longitude, old_node.longitude
@@ -107,14 +107,14 @@ class NodeTest < ActiveSupport::TestCase
     node_template = Node.find(current_nodes(:visible_node).id)
     assert_not_nil node_template
 
-    assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
-    old_node_template = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
-    assert_not_nil old_node_template
+    assert_equal OldNode.where(:node_id => node_template.id).count, 1
+    node = Node.find(node_template.id)
+    assert_not_nil node
 
     node_template.latitude = 12.3456
     node_template.longitude = 65.4321
     #node_template.tags = "updated=yes"
-    assert node_template.update_from(old_node_template, users(:normal_user))
+    assert node.update_from(node_template, users(:normal_user))
 
     node = Node.find(node_template.id)
     assert_not_nil node
@@ -123,49 +123,43 @@ class NodeTest < ActiveSupport::TestCase
     assert_equal node_template.changeset_id, node.changeset_id
     assert_equal node_template.visible, node.visible
     #assert_equal node_template.tags, node.tags
-    assert_equal node_template.timestamp.to_i, node.timestamp.to_i
 
-    assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 2
-    assert_equal OldNode.find(:all, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ]).length, 1
-    old_node = OldNode.find(:first, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ])
+    assert_equal OldNode.where(:node_id => node_template.id).count, 2
+    old_node = OldNode.where(:node_id => node_template.id, :version => 2).first
     assert_not_nil old_node
     assert_equal node_template.latitude, old_node.latitude
     assert_equal node_template.longitude, old_node.longitude
     assert_equal node_template.changeset_id, old_node.changeset_id
     assert_equal node_template.visible, old_node.visible
     #assert_equal node_template.tags, old_node.tags
-    assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i
   end
 
   def test_delete
     node_template = Node.find(current_nodes(:visible_node))
     assert_not_nil node_template
 
-    assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 1
-    old_node_template = OldNode.find(:first, :conditions => [ "id = ?", node_template.id ])
-    assert_not_nil old_node_template
+    assert_equal OldNode.where(:node_id => node_template.id).count, 1
+    node = Node.find(node_template.id)
+    assert_not_nil node
 
-    assert node_template.delete_with_history!(old_node_template, users(:normal_user))
+    assert node.delete_with_history!(node_template, users(:normal_user))
 
     node = Node.find(node_template.id)
     assert_not_nil node
     assert_equal node_template.latitude, node.latitude
     assert_equal node_template.longitude, node.longitude
     assert_equal node_template.changeset_id, node.changeset_id
-    assert_equal node_template.visible, node.visible
+    assert_equal false, node.visible
     #assert_equal node_template.tags, node.tags
-    assert_equal node_template.timestamp.to_i, node.timestamp.to_i
 
-    assert_equal OldNode.find(:all, :conditions => [ "id = ?", node_template.id ]).length, 2
-    assert_equal OldNode.find(:all, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ]).length, 1
-    old_node = OldNode.find(:first, :conditions => [ "id = ? and timestamp = ?", node_template.id, node_template.timestamp ])
+    assert_equal OldNode.where(:node_id => node_template.id).count, 2
+    old_node = OldNode.where(:node_id => node_template.id, :version => 2).first
     assert_not_nil old_node
     assert_equal node_template.latitude, old_node.latitude
     assert_equal node_template.longitude, old_node.longitude
     assert_equal node_template.changeset_id, old_node.changeset_id
-    assert_equal node_template.visible, old_node.visible
+    assert_equal false, old_node.visible
     #assert_equal node_template.tags, old_node.tags
-    assert_equal node_template.timestamp.to_i, old_node.timestamp.to_i
   end
   
   def test_from_xml_no_id
index f934ffde136f6e0129f584e0403247202042607d..064b5f198d1df991bde9bf9803082e5b6409a002 100644 (file)
@@ -11,7 +11,7 @@ class OldNodeTest < ActiveSupport::TestCase
     key = "k"
     (0..255).each do |i|
       tag = OldNodeTag.new
-      tag.id = node_tags(:t1).id
+      tag.node_id = node_tags(:t1).node_id
       tag.version = node_tags(:t1).version
       tag.k = key*i
       tag.v = "v"
@@ -23,7 +23,7 @@ class OldNodeTest < ActiveSupport::TestCase
     val = "v"
     (0..255).each do |i|
       tag = OldNodeTag.new
-      tag.id = node_tags(:t1).id
+      tag.node_id = node_tags(:t1).node_id
       tag.version = node_tags(:t1).version
       tag.k = "k"
       tag.v = val*i
@@ -34,7 +34,7 @@ class OldNodeTest < ActiveSupport::TestCase
   def test_length_key_invalid
     ["k"*256].each do |i|
       tag = OldNodeTag.new
-      tag.id = node_tags(:t1).id
+      tag.node_id = node_tags(:t1).node_id
       tag.version = node_tags(:t1).version
       tag.k = i
       tag.v = "v", "Key should be too long"
@@ -46,7 +46,7 @@ class OldNodeTest < ActiveSupport::TestCase
   def test_length_value_invalid
     ["k"*256].each do |i|
       tag = OldNodeTag.new
-      tag.id = node_tags(:t1).id
+      tag.node_id = node_tags(:t1).node_id
       tag.version = node_tags(:t1).version
       tag.k = "k"
       tag.v = i
@@ -55,16 +55,15 @@ class OldNodeTest < ActiveSupport::TestCase
     end
   end
   
-  def test_empty_old_node_tag_invalid
+  def test_empty_tag_invalid
     tag = OldNodeTag.new
     assert !tag.valid?, "Empty tag should be invalid"
-    assert tag.errors[:id].any?
-    assert tag.errors[:version].any?
+    assert tag.errors[:old_node].any?
   end
   
   def test_uniqueness
     tag = OldNodeTag.new
-    tag.id = node_tags(:t1).id
+    tag.node_id = node_tags(:t1).node_id
     tag.version = node_tags(:t1).version
     tag.k = node_tags(:t1).k
     tag.v = node_tags(:t1).v
index 10cb2390096120382450ed55e82efeaf7775fb2d..e6f3d80356adafe3d659cd704999ba53b54978b1 100644 (file)
@@ -8,7 +8,7 @@ class OldNodeTest < ActiveSupport::TestCase
   end
 
   def test_node_too_far_north
-         invalid_node_test(:node_too_far_north)
+    invalid_node_test(:node_too_far_north)
   end
   
   def test_node_north_limit
@@ -48,7 +48,7 @@ class OldNodeTest < ActiveSupport::TestCase
   # the fixture
   def valid_node_test(nod)
     node = nodes(nod)
-    dbnode = Node.find(node.id)
+    dbnode = Node.find(node.node_id)
     assert_equal dbnode.lat, node.latitude.to_f/SCALE
     assert_equal dbnode.lon, node.longitude.to_f/SCALE
     assert_equal dbnode.changeset_id, node.changeset_id
@@ -64,7 +64,7 @@ class OldNodeTest < ActiveSupport::TestCase
   # fixture
   def invalid_node_test(nod)
     node = nodes(nod)
-    dbnode = Node.find(node.id)
+    dbnode = Node.find(node.node_id)
     assert_equal dbnode.lat, node.latitude.to_f/SCALE
     assert_equal dbnode.lon, node.longitude.to_f/SCALE
     assert_equal dbnode.changeset_id, node.changeset_id
@@ -74,6 +74,4 @@ class OldNodeTest < ActiveSupport::TestCase
     #assert_equal node.tile, QuadTile.tile_for_point(nodes(nod).lat, nodes(nod).lon)
     assert_equal false, node.valid?
   end
-  
-
 end
index f6ac38428874b229e5245b8c9a60ae9973753653..1d08808222956ec081ab2066e7ed2eddca488d97 100644 (file)
@@ -11,7 +11,7 @@ class OldRelationTagTest < ActiveSupport::TestCase
     key = "k"
     (0..255).each do |i|
       tag = OldRelationTag.new
-      tag.id = relation_tags(:t1).id
+      tag.relation_id = relation_tags(:t1).relation_id
       tag.version = 1
       tag.k = key*i
       tag.v = "v"
@@ -23,7 +23,7 @@ class OldRelationTagTest < ActiveSupport::TestCase
     val = "v"
     (0..255).each do |i|
       tag = OldRelationTag.new
-      tag.id = relation_tags(:t1).id
+      tag.relation_id = relation_tags(:t1).relation_id
       tag.version = 1
       tag.k = "k"
       tag.v = val*i
@@ -34,7 +34,7 @@ class OldRelationTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     ["k"*256].each do |i|
       tag = OldRelationTag.new
-      tag.id = relation_tags(:t1).id
+      tag.relation_id = relation_tags(:t1).relation_id
       tag.version = 1
       tag.k = i
       tag.v = "v"
@@ -46,7 +46,7 @@ class OldRelationTagTest < ActiveSupport::TestCase
   def test_length_value_invalid
     ["k"*256].each do |i|
       tag = OldRelationTag.new
-      tag.id = relation_tags(:t1).id
+      tag.relation_id = relation_tags(:t1).relation_id
       tag.version = 1
       tag.k = "k"
       tag.v = i
@@ -55,15 +55,15 @@ class OldRelationTagTest < ActiveSupport::TestCase
     end
   end
   
-  def test_empty_node_tag_invalid
+  def test_empty_tag_invalid
     tag = OldRelationTag.new
     assert !tag.valid?, "Empty tag should be invalid"
-    assert tag.errors[:id].any?
+    assert tag.errors[:old_relation].any?
   end
   
   def test_uniqueness
     tag = OldRelationTag.new
-    tag.id = relation_tags(:t1).id
+    tag.relation_id = relation_tags(:t1).relation_id
     tag.version = relation_tags(:t1).version
     tag.k = relation_tags(:t1).k
     tag.v = relation_tags(:t1).v
index 3282fc47381a20fd8448c569ef4188d57ad81873..334e7b86a4d6648391f3172bb75c4b2b0c3cc07d 100644 (file)
@@ -11,7 +11,7 @@ class WayTagTest < ActiveSupport::TestCase
     key = "k"
     (0..255).each do |i|
       tag = OldWayTag.new
-      tag.id = way_tags(:t1).id
+      tag.way_id = way_tags(:t1).way_id
       tag.version = 1
       tag.k = key*i
       tag.v = "v"
@@ -23,7 +23,7 @@ class WayTagTest < ActiveSupport::TestCase
     val = "v"
     (0..255).each do |i|
       tag = OldWayTag.new
-      tag.id = way_tags(:t1).id
+      tag.way_id = way_tags(:t1).way_id
       tag.version = 1
       tag.k = "k"
       tag.v = val*i
@@ -34,7 +34,7 @@ class WayTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     ["k"*256].each do |i|
       tag = OldWayTag.new
-      tag.id = way_tags(:t1).id
+      tag.way_id = way_tags(:t1).way_id
       tag.version = 1
       tag.k = i
       tag.v = "v"
@@ -46,7 +46,7 @@ class WayTagTest < ActiveSupport::TestCase
   def test_length_value_invalid
     ["k"*256].each do |i|
       tag = OldWayTag.new
-      tag.id = way_tags(:t1).id
+      tag.way_id = way_tags(:t1).way_id
       tag.version = 1
       tag.k = "k"
       tag.v = i
@@ -55,15 +55,15 @@ class WayTagTest < ActiveSupport::TestCase
     end
   end
   
-  def test_empty_node_tag_invalid
-    tag = OldNodeTag.new
+  def test_empty_tag_invalid
+    tag = OldWayTag.new
     assert !tag.valid?, "Empty tag should be invalid"
-    assert tag.errors[:id].any?
+    assert tag.errors[:old_way].any?
   end
   
   def test_uniqueness
     tag = OldWayTag.new
-    tag.id = way_tags(:t1).id
+    tag.way_id = way_tags(:t1).way_id
     tag.version = way_tags(:t1).version
     tag.k = way_tags(:t1).k
     tag.v = way_tags(:t1).v
index 7c703cf27e27e6858883a8b8cb38c97629b58dc7..39a2ff828385e8d9ac99573b24ddb714533d3dae 100644 (file)
@@ -11,7 +11,7 @@ class RelationTagTest < ActiveSupport::TestCase
     key = "k"
     (0..255).each do |i|
       tag = RelationTag.new
-      tag.id = 1
+      tag.relation_id = 1
       tag.k = key*i
       tag.v = "v"
       assert tag.valid?
@@ -22,7 +22,7 @@ class RelationTagTest < ActiveSupport::TestCase
     val = "v"
     (0..255).each do |i|
       tag = RelationTag.new
-      tag.id = 1
+      tag.relation_id = 1
       tag.k = "k"
       tag.v = val*i
       assert tag.valid?
@@ -32,7 +32,7 @@ class RelationTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     ["k"*256].each do |i|
       tag = RelationTag.new
-      tag.id = 1
+      tag.relation_id = 1
       tag.k = i
       tag.v = "v"
       assert !tag.valid?, "Key #{i} should be too long"
@@ -43,7 +43,7 @@ class RelationTagTest < ActiveSupport::TestCase
   def test_length_value_invalid
     ["v"*256].each do |i|
       tag = RelationTag.new
-      tag.id = 1
+      tag.relation_id = 1
       tag.k = "k"
       tag.v = i
       assert !tag.valid?, "Value #{i} should be too long"
@@ -54,12 +54,12 @@ class RelationTagTest < ActiveSupport::TestCase
   def test_empty_tag_invalid
     tag = RelationTag.new
     assert !tag.valid?, "Empty relation tag should be invalid"
-    assert tag.errors[:id].any?
+    assert tag.errors[:relation].any?
   end
   
   def test_uniquness
     tag = RelationTag.new
-    tag.id = current_relation_tags(:t1).id
+    tag.relation_id = current_relation_tags(:t1).relation_id
     tag.k = current_relation_tags(:t1).k
     tag.v = current_relation_tags(:t1).v
     assert tag.new_record?
@@ -84,7 +84,7 @@ class RelationTagTest < ActiveSupport::TestCase
   #   assert_equal 0, RelationTag.count(:conditions => ['v=?', v])
 
   #   # make sure we select a tag on a relation which has more than one tag
-  #   id = current_relations(:multi_tag_relation).id
+  #   id = current_relations(:multi_tag_relation).relation_id
   #   tag = RelationTag.find(:first, :conditions => ["id = ?", id])
   #   tag.v = v
   #   tag.save!
index 608d5c5aeafc0592fd9d2218d467d6fa86809c42..18162b44ab82a9e328f0eef7c8f90dcd5ed099da 100644 (file)
@@ -2,9 +2,8 @@ require File.dirname(__FILE__) + '/../test_helper'
 
 class WayNodeTest < ActiveSupport::TestCase
   api_fixtures
-  
+
   def test_way_nodes_count
     assert_equal 6, WayNode.count
   end
-  
 end
index 5ce08815924728f0779ced24be9397d6b8c7c70d..b338f9c25801d8bc4b9522d17ad77d5e3043cc51 100644 (file)
@@ -11,7 +11,7 @@ class WayTagTest < ActiveSupport::TestCase
     key = "k"
     (0..255).each do |i|
       tag = WayTag.new
-      tag.id = current_way_tags(:t1).id
+      tag.way_id = current_way_tags(:t1).way_id
       tag.k = key*i
       tag.v = current_way_tags(:t1).v
       assert tag.valid?
@@ -22,7 +22,7 @@ class WayTagTest < ActiveSupport::TestCase
     val = "v"
     (0..255).each do |i|
       tag = WayTag.new
-      tag.id = current_way_tags(:t1).id
+      tag.way_id = current_way_tags(:t1).way_id
       tag.k = "k"
       tag.v = val*i
       assert tag.valid?
@@ -32,7 +32,7 @@ class WayTagTest < ActiveSupport::TestCase
   def test_length_key_invalid
     ["k"*256].each do |i|
       tag = WayTag.new
-      tag.id = current_way_tags(:t1).id
+      tag.way_id = current_way_tags(:t1).way_id
       tag.k = i
       tag.v = "v"
       assert !tag.valid?, "Key #{i} should be too long"
@@ -43,7 +43,7 @@ class WayTagTest < ActiveSupport::TestCase
   def test_length_value_invalid
     ["v"*256].each do |i|
       tag = WayTag.new
-      tag.id = current_way_tags(:t1).id
+      tag.way_id = current_way_tags(:t1).way_id
       tag.k = "k"
       tag.v = i
       assert !tag.valid?, "Value #{i} should be too long"
@@ -54,12 +54,12 @@ class WayTagTest < ActiveSupport::TestCase
   def test_empty_tag_invalid
     tag = WayTag.new
     assert !tag.valid?, "Empty way tag should be invalid"
-    assert tag.errors[:id].any?
+    assert tag.errors[:way].any?
   end
   
   def test_uniqueness
     tag = WayTag.new
-    tag.id = current_way_tags(:t1).id
+    tag.way_id = current_way_tags(:t1).way_id
     tag.k = current_way_tags(:t1).k
     tag.v = current_way_tags(:t1).v
     assert tag.new_record?