2010-04-23 6 views
2

У меня есть странное опыт использования кранов для перемещения данных между моей машиной и Heroku.Heroku taps push weirdness

Он отлично работает, за исключением того, что он, кажется, теряет 0s непосредственно за десятичной точкой для моих гео координат, то есть 50.0519322 по какой-либо причине получает значение 50.519322 ... не знаю, почему.

Когда я извлекаю данные из удаленного места, т.е. heroku db: pull ... он отлично работает, все десятичные знаки остаются неизменными на моей машине, однако, когда я нажимаю его на удаленный сервер, он теряет эти нули. Особенно прямо за десятичной точкой, хотя я еще не заметил ее в другом месте.

Сначала я хранил лат и LNG просто как числовые, но рафинированные его:

change_column :places, :lat, :numeric, :precision => 15, :scale => 10 
change_column :places, :lng, :numeric, :precision => 15, :scale => 10 

При отсутствии результата, любые идеи, что происходит?

С консоли на удаленном сервере я получаю лату существа:

#<BigDecimal:2aebcc5967c0,'0.50519322E2',18(18)> 

и моей машине, как:

#<BigDecimal:10232f7c8,'0.50519322E2',12(16)> 

который также нечетное, то второй, потому что она показывает, как 50.0519322, когда я редактирую его по моему виду, но когда я делаю to_f через консоль, он дает мне 50.519322

Как сервер, так и локальная машина являются postgres, память как числовая.

+0

обновлен до последней версии как Heroku и кранов, без помощи. Раньше я использовал эту же конвенцию и никогда не сталкивался с подобной проблемой, или что я заметил. Поэтому меня это беспокоит. Мне пришлось бы потерять 0 для данных, которые я использовал на самом деле ... – holden

+0

Это все еще происходит с последними драгоценными камнями sequel/heroku/taps? –

+0

Что такое БД, которую вы используете, и каков тип данных в поле? – josh

ответ

0

Это звучит как ошибка BigDecimal в Ruby: http://blog.ethanvizitei.com/2010/04/bug-with-bigdecimal-in-ruby-187.html

db:pull и db:push лучше всего подходят для использования в целях развития. Я рекомендую использовать систему PGBackups для перемещения данных без возможности изменения между локальной системой и Heroku:

http://devcenter.heroku.com/articles/pgbackups