]> git.openstreetmap.org Git - rails.git/blob - db/migrate/20180204153242_tile_users.rb
917948d4317d942777d132b367adb4cab1601652
[rails.git] / db / migrate / 20180204153242_tile_users.rb
1 class TileUsers < ActiveRecord::Migration[5.1]
2   class User < ApplicationRecord
3   end
4
5   def up
6     add_column :users, :home_tile, :bigint
7     add_index :users, [:home_tile], :name => "users_home_idx"
8
9     if ENV["USE_DB_FUNCTIONS"]
10       User.update_all("home_tile = tile_for_point(cast(round(home_lat * #{GeoRecord::SCALE}) as integer), cast(round(home_lon * #{GeoRecord::SCALE}) as integer))")
11     else
12       User.all.each(&:save!)
13     end
14   end
15
16   def down
17     remove_index :users, :name => "users_home_idx"
18     remove_column :users, :home_tile
19   end
20 end