17 lines
519 B
Ruby
17 lines
519 B
Ruby
class TileUsers < ActiveRecord::Migration[5.1]
|
|
def up
|
|
add_column :users, :home_tile, :bigint
|
|
add_index :users, [:home_tile], :name => "users_home_idx"
|
|
|
|
if ENV["USE_DB_FUNCTIONS"]
|
|
User.update_all("home_tile = tile_for_point(cast(round(home_lat * #{GeoRecord::SCALE}) as integer), cast(round(home_lon * #{GeoRecord::SCALE}) as integer))")
|
|
else
|
|
User.all.each(&:save!)
|
|
end
|
|
end
|
|
|
|
def down
|
|
remove_index :users, :name => "users_home_idx"
|
|
remove_column :users, :home_tile
|
|
end
|
|
end
|