X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e660e609661edadc1ed5ad49d6e83e936b2f91cd..e731dd71a77ad4ad1e9db22535e89444bb98e5d9:/db/migrate/031_create_countries.rb?ds=sidebyside diff --git a/db/migrate/031_create_countries.rb b/db/migrate/031_create_countries.rb index cc0627cd2..bdb247036 100644 --- a/db/migrate/031_create_countries.rb +++ b/db/migrate/031_create_countries.rb @@ -1,36 +1,18 @@ -require 'migrate' -require 'rexml/document' +require "migrate" +require "rexml/document" -class CreateCountries < ActiveRecord::Migration +class CreateCountries < ActiveRecord::Migration[4.2] 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 - - 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 - }, :without_protection => true) - end - end end def self.down