heroku:db push无效,时区位移超出范围

时间:2013-01-23 20:41:11

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

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

这是我得到的错误

  

点击服务器错误:PGError:错误:时区位移超出范围

my gemfile

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数据库
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

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

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

这就是我所做的(Ubuntu 12.04)


1。删除heroku toolbelt

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

2。更新gemfile

我在tap中添加了require 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。再次运行

现在你应该仍然在你的app文件夹中,例如(〜/ 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 ect

使用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


你应该在路上!