这个问题已在其他地方被问到,但似乎问题又回来了,以前的解决方案不再适用了。
异常输出类似于:
Saving session to push_201205201307.dat..
!!! Caught Server Exception
HTTP CODE: 500
Taps Server Error: PGError: ERROR: time zone displacement out of range: "2012-05-09 12:00:00.000000+5894536800"
我正在ubuntu 12.04上运行postgresql 9.1,并使用heroku cedar。
Error when pushing data to Heroku: time zone displacement out of range等其他问题建议使用rvm切换到1.9.2-p290将与heroku上运行的版本匹配,并避免此问题对我不起作用。
删除表中的值允许我推送数据,但我正在寻找不止一次性的解决方法。
pgbackups似乎可行,但我宁愿不使用db:push设置另一个整个过程来解决方法。
有什么建议吗?这实际上是一个水龙头问题吗?这里的人似乎有不同的结果:https://github.com/ricardochimal/taps/issues/92
答案 0 :(得分:1)
经过数小时的挫折之后才开始工作。我很失望jfeust没有给出适合他的宝石标签。
我有一个pg数据库,所以:
$rvm requirements
(在它们导致麻烦之前安装依赖项和库,你不能说出原因)
$rvm install 1.9.2-p318
$gem install heroku -v '2.2.8' --no-ri --no-rdoc
$gem install taps pg --no-ri --no-rdoc`
记录我的水龙头是(0.3.24)和pg(0.14.1)
$rvm use 1.9.2-p318
这对我有用。
$~/.rvm/gems/ruby-1.9.2-p318/gems/heroku-2.2.8/bin/heroku db:push
答案 1 :(得分:0)
只是改变ruby版本对我没用。当使用旧的heroku gem时,我能够运行“heroku db:push”。我基本上为此创建了一个新的gemset,并确保它使用的是heroku的宝石版本(不是工具带),一切运行得很好。希望heroku能够很快解决这个问题,因为我是db的忠实粉丝:推动/拉动开发。