对于heroku db:“时区位移超出范围”,使用ruby 1.9.2无法解决

时间:2012-05-20 20:33:00

标签: heroku taps

这个问题已在其他地方被问到,但似乎问题又回来了,以前的解决方案不再适用了。

异常输出类似于:

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

2 个答案:

答案 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的忠实粉丝:推动/拉动开发。