X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c8ee1351049ef1bb4d7b50d071b2a96154266d1d..758e6da9a80e2e53a171ebc3119f813f8ff4141c:/db/migrate/006_tile_nodes.rb?ds=sidebyside diff --git a/db/migrate/006_tile_nodes.rb b/db/migrate/006_tile_nodes.rb index dc4755ac3..91f8acb6b 100644 --- a/db/migrate/006_tile_nodes.rb +++ b/db/migrate/006_tile_nodes.rb @@ -1,15 +1,17 @@ +require 'migrate' + class TileNodes < ActiveRecord::Migration def self.upgrade_table(from_table, to_table, model) - begin + if ENV["USE_DB_FUNCTIONS"] execute <<-END_SQL INSERT INTO #{to_table} (id, latitude, longitude, user_id, visible, tags, timestamp, tile) SELECT id, ROUND(latitude * 10000000), ROUND(longitude * 10000000), user_id, visible, tags, timestamp, - tile_for_point(CAST(ROUND(latitude * 10000000) AS UNSIGNED), - CAST(ROUND(longitude * 10000000) AS UNSIGNED)) + tile_for_point(CAST(ROUND(latitude * 10000000) AS INTEGER), + CAST(ROUND(longitude * 10000000) AS INTEGER)) FROM #{from_table} END_SQL - rescue ActiveRecord::StatementInvalid => ex + else execute <<-END_SQL INSERT INTO #{to_table} (id, latitude, longitude, user_id, visible, tags, timestamp, tile) SELECT id, ROUND(latitude * 10000000), ROUND(longitude * 10000000), @@ -17,7 +19,7 @@ class TileNodes < ActiveRecord::Migration FROM #{from_table} END_SQL - model.find(:all).each do |n| + model.all.each do |n| n.save! end end