【问题标题】:heroku:db push is not working, time zone displacement out of rangeheroku:db push 不起作用,时区位移超出范围
【发布时间】:2013-01-07 11:29:30
【问题描述】:

我似乎无法使用 heroku 推送,heroku db:pull 工作正常不是 heroku db:push

这是我得到的错误

Taps Server Error: PGError: ERROR: time zone displacement out of range

我的宝石文件

source 'https://rubygems.org'

gem 'rails', '3.2.11'
gem 'jquery-rails'
gem 'kaminari'
gem 'bootstrap-kaminari-views'

gem 'devise'

gem 'pg'

gem 'rmagick'
gem 'carrierwave'
gem 'fog', '~> 1.3.1'

group :development do
  gem 'taps'
  gem 'sequel'
  gem 'sqlite3'
  gem 'pry'
end

group :assets do
  gem 'bootstrap-sass', '~> 2.2.1.1'
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end

我正在使用ruby-1.9.3-p327,我也尝试使用 rvm 安装ruby-1.9.2-p318,但它也不起作用,它与以前的时区错误相同


我也尝试使用heroku's pgbackups 转储我的本地数据库,将其上传到 s3,然后从那里恢复到 heroku,但无济于事。


我用于 pgbackups 的命令是

PGPASSWORD=mypassword pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump

然后我将它复制到我的 s3 存储桶并公开

并使用

将其从 s3 恢复到 heroku db
heroku pgbackups:restore DATABASE 'https://s3.amazonaws.com/my_bucket/my_db.dump'

这是来自 pgbackups 的错误

2013-01-23T19:19:23+00:00 app[pgbackups]: psql: bin//psql-9.2.1-64bit
2013-01-23T19:19:23+00:00 app[pgbackups]: pv: bin//pv-1.1.4-64bit
2013-01-23T19:19:23+00:00 app[pgbackups]:       SELECT count(*) = 0 as is_empty
2013-01-23T19:19:23+00:00 app[pgbackups]:       FROM pg_class INNER JOIN pg_roles ON relowner = pg_roles.oid
2013-01-23T19:19:23+00:00 app[pgbackups]:       WHERE rolname <> '\''postgres'\'''
2013-01-23T19:19:44+00:00 app[pgbackups]: psql-9.2.1-64bit: could not connect to server: Connection timed out

【问题讨论】:

    标签: ruby-on-rails postgresql heroku taps heroku-toolbelt


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      删除 heroku-toolbelt 后,它现在可以使用 ruby​​-1.9.2-p318

      这就是我所做的(Ubuntu 12.04)


      1。删除 heroku 工具带

      sudo rm -rf /usr/local/heroku
      sudo rm -rf /usr/bin/heroku
      

      2。更新 gemfile

      我添加了需要 false 来点击

      group :development do
        gem 'taps', :require => false
      end
      

      如果您的 gemfile 中还没有 heroku gem,还可以添加它

      gem 'heroku'
      

      3。安装 ruby​​ 1.9.2 和 gems

      导航到您的应用 (cd ~/sites/myapp) 并执行

      rvm install ruby-1.9.2-p318
      rvm use ruby-1.9.2-p318
      bundle install
      gem install rb-readline
      

      您现在应该已经安装了 heroku gem

      要仔细检查在控制台中运行它
      ls ~/.rvm/gems/ruby-1.9.2-p318/gems
      您现在应该看到一个名为 heroku 的文件夹,其中附加了一个版本。例如。 heroku-2.26.3


      4。再次运行该推送

      现在您应该仍在您的应用文件夹中,例如 (~/sites/myapp)

      尝试使用您刚刚安装的 heroku gem 进行推送,如果您下载了不同的版本,记得更改您的版本

      ~/.rvm/gems/ruby-1.9.2-p318/gems/heroku-2.26.3/bin/heroku db:push
      

      看来您需要切换回 ruby​​ 1.9.3 才能使用 rake db:migrate 等

      使用 rake db:migrate 时出现错误

      You're running a version of ruby with no Readline support
      Please `gem install rb-readline` or recompile ruby --with-readline.
      


      rvm use ruby-1.9.3-p327
      


      你应该在路上了!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-27
        • 1970-01-01
        • 2011-12-30
        • 1970-01-01
        • 2012-05-04
        • 2018-06-05
        • 2011-01-12
        • 1970-01-01
        相关资源
        最近更新 更多