]> git.openstreetmap.org Git - rails.git/blobdiff - db/migrate/031_create_countries.rb
Use model relations when creating objects from factories
[rails.git] / db / migrate / 031_create_countries.rb
index e4106f486a65f5afc1163dbaa527707491181654..b146cbadbc4c43db95bd79879a3cd92bd3e3406a 100644 (file)
@@ -1,33 +1,18 @@
-require 'lib/migrate'
+require "migrate"
+require "rexml/document"
 
 class CreateCountries < ActiveRecord::Migration
   def self.up
 
 class CreateCountries < ActiveRecord::Migration
   def self.up
-    create_table :countries, innodb_table do |t|
-      t.column :id,      :integer_pk,              :null => false
-      t.column :code,    :string,     :limit => 2, :null => false
-      t.column :min_lat, :double,                  :null => false
-      t.column :max_lat, :double,                  :null => false
-      t.column :min_lon, :double,                  :null => false
-      t.column :max_lon, :double,                  :null => false
+    create_table :countries, :id => false do |t|
+      t.column :id,      :primary_key, :null => false
+      t.column :code,    :string, :limit => 2, :null => false
+      t.column :min_lat, :float, :limit => 53, :null => false
+      t.column :max_lat, :float, :limit => 53, :null => false
+      t.column :min_lon, :float, :limit => 53, :null => false
+      t.column :max_lon, :float, :limit => 53, :null => false
     end
 
     add_index :countries, [:code], :name => "countries_code_idx", :unique => true
     end
 
     add_index :countries, [:code], :name => "countries_code_idx", :unique => true
-
-    Net::HTTP.start('ws.geonames.org') do |http|
-      xml = REXML::Document.new(http.get("/countryInfo").body)
-
-      xml.elements.each("geonames/country") do |ele|
-        code = ele.get_text("countryCode").to_s
-        minlon = ele.get_text("bBoxWest").to_s
-        minlat = ele.get_text("bBoxSouth").to_s
-        maxlon = ele.get_text("bBoxEast").to_s
-        maxlat = ele.get_text("bBoxNorth").to_s
-
-        Country.create(:code => code,
-                       :min_lat => minlat.to_f, :max_lat => maxlat.to_f,
-                       :min_lon => minlon.to_f, :max_lon => maxlon.to_f)
-      end
-    end
   end
 
   def self.down
   end
 
   def self.down