2012-04-10 5 views
3

Ich habe ein heroku db:pushHeroku db: Push-Fehler: Zeitzonenverschiebung außerhalb des Bereichs

zunächst es ging gut

Sending schema 
Schema:  100% |==========================================| Time: 00:00:06 
Sending indexes 
schema_migrat: 100% |==========================================| Time: 00:00:01 
Sending data 
3 tables, 8 records 
schema_migrat: 100% |==========================================| Time: 00:00:00 
users:   0% |           | ETA: --:--:-- 
Saving session to push_201204102202.dat.. 

das sind die Inhalte der push_201204102202.dat Datei:

{"klass":"Taps::Push","database_url":"sqlite://db/development.sqlite3","remote_url":"http://heroku:[email protected]","session_uri":"/sessions/7436189125","stream_state":{},"completed_tables":["schema_migrations"],"table_filter":null,"local_tables_info":{"schema_migrations":2,"users":4,"microposts":2}} 

dann begann Probleme:

 
    !!! Caught Server Exception 
    HTTP CODE: 500 
    Taps Server Error: PGError: ERROR: time zone displacement out of range: "2012-04-10 12:00:00.000000+5894467200" 



    ["/app/.bundle/gems/ruby/1.9.1/gems/sequel3.20.0/lib/sequel/adapters/postgres.rb:175:in `async_exec'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/seq 
uel/adapters/postgres.rb:175:in `block (2 levels) in execute'","/app/.bundle/gems/ruby/1.9.1/gems/sequel-.20.0/lib/sequel/database/logging.rb:28:in`log_yield'","/app/.bundle/gems/ruby/1.9.1/gems/sequel-.20.0/lib/sequel/adapters/postgres.rb:175:in `block in execute'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-.20.0/lib/sequel/adapters/postgres.rb:158:in`check_disconnect_errors'","/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/adapters/postgres.rb:175:in `execute'","/app/.bundle/gems/ruby/1.9.1/gems/sequel-.20.0/lib/sequel/adapters/postgres.rb:240:in `block (2 levels) in execute'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/connection_pool/threaded.rb:71:in`hold'","/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/database/connecting.rb:226:in `synchronize'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/adapters/postgres.rb:240:in `block in execute'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/adapters/postgres.rb:261:in `check_database_errors'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/adapters/postgres.r 
b:238:in `execute'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/database/query.rb:71:in `execute_dui'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/dataset/actions.rb:552:in `execute_dui'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/dataset/actions.rb:243:in `block (2 l 
evels) in import'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/dataset/actions.rb:243:in `each'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.2 
0.0/lib/sequel/dataset/actions.rb:243:in `block in import'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/database/query.rb:223:in `_transaction' 
", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/database/query.rb:209:in `block in transaction'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20. 
0/lib/sequel/connection_pool/threaded.rb:84:in `hold'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/database/connecting.rb:226:in `synchronize'" 
, "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/database/query.rb:207:in `transaction'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequ 
el/dataset/actions.rb:243:in `import'", "/app/lib/taps/data_stream.rb:315:in `import_rows'", "/app/lib/taps/data_stream.rb:158:in `fetch_remote_in_server'", "/a 
pp/lib/taps/server.rb:114:in `block (3 levels) in '", "/app/lib/taps/utils.rb:161:in `call'", "/app/lib/taps/utils.rb:161:in `server_error_handlin 
g'", "/app/lib/taps/server.rb:112:in `block (2 levels) in '", "/app/lib/taps/db_session.rb:15:in `block in conn'", "/app/.bundle/gems/ruby/1.9.1/g 
ems/sequel-3.20.0/lib/sequel/database/connecting.rb:76:in `connect'", "/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.20.0/lib/sequel/core.rb:119:in `connect'", "/a 
pp/lib/taps/db_session.rb:14:in `conn'", "/app/lib/taps/server.rb:111:in `block in '", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/ 
base.rb:865:in `call'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `block in route'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra- 
1.0/lib/sinatra/base.rb:521:in `instance_eval'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `route_eval'", "/app/.bundle/gems/rub 
y/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:500:in `block (2 levels) in route!'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `ca 
tch'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `block in route!'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/ 
base.rb:476:in `each'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `route!'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/ 
sinatra/base.rb:601:in `dispatch!'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `block in call!'", "/app/.bundle/gems/ruby/1.9.1/ 
gems/sinatra-1.0/lib/sinatra/base.rb:566:in `instance_eval'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `block in invoke'", "/ap 
p/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `catch'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `invok 
e'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `call!'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:399: 
in `call'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `block in call'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinat 
ra/base.rb:1005:in `synchronize'", "/app/.bundle/gems/ruby/1.9.1/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `call'", "/home/heroku_rack/lib/static_assets.rb:9: 
in `call'", "/home/heroku_rack/lib/last_access.rb:15:in `call'", "/app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/urlmap.rb:47:in `block in call'", "/app/ 
.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/urlmap.rb:41:in `each'", "/app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/urlmap.rb:41:in `call'", "/home 
/heroku_rack/lib/date_header.rb:14:in `call'", "/app/.bundle/gems/ruby/1.9.1/gems/rack-1.2.1/lib/rack/builder.rb:77:in `call'", "/app/.bundle/gems/ruby/1.9.1/ge 
ms/thin-1.2.7/lib/thin/connection.rb:76:in `block in pre_process'", "/app/.bundle/gems/ruby/1.9.1/gems/thin-1.2.7/lib/thin/connection.rb:74:in `catch'", "/app/. 
bundle/gems/ruby/1.9.1/gems/thin-1.2.7/lib/thin/connection.rb:74:in `pre_process'", "/app/.bundle/gems/ruby/1.9.1/gems/thin-1.2.7/lib/thin/connection.rb:57:in ` 
process'", "/app/.bundle/gems/ruby/1.9.1/gems/thin-1.2.7/lib/thin/connection.rb:42:in `receive_data'", "/app/.bundle/gems/ruby/1.9.1/gems/eventmachine-0.12.10/l 
ib/eventmachine.rb:256:in `run_machine'", "/app/.bundle/gems/ruby/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'", "/app/.bundle/gems/ruby/1.9 
.1/gems/thin-1.2.7/lib/thin/backends/base.rb:57:in `start'", "/app/.bundle/gems/ruby/1.9.1/gems/thin-1.2.7/lib/thin/server.rb:156:in `start'", "/app/.bundle/gem 
s/ruby/1.9.1/gems/thin-1.2.7/lib/thin/controllers/controller.rb:80:in `start'", "/app/.bundle/gems/ruby/1.9.1/gems/thin-1.2.7/lib/thin/runner.rb:177:in `run_com 
mand'", "/app/.bundle/gems/ruby/1.9.1/gems/thin-1.2.7/lib/thin/runner.rb:143:in `run!'", "/app/.bundle/gems/ruby/1.9.1/gems/thin-1.2.7/bin/thin:6:in `'", "/app/.bundle/gems/ruby/1.9.1/bin/thin:19:in `load'", "/app/.bundle/gems/ruby/1.9.1/bin/thin:19:in `'"] 
+1

Der Fehler zeigt: '2012-04-10 12: 00: 00.000000+ 5894467200'; Es gibt keine Möglichkeit, die '+ 5894467200' als gültige Zeitzonenabweichung von UTC zu parsen, und die Meldung sagt soviel aus. Also wirst du herausfinden müssen, wie um Himmels Willen du einen solchen Wert erhalten hast. –

+0

Überprüfen Sie diese SO Frage ... http: // Stackoverflow.com/questions/8151571/Fehler-wenn-Push-Daten-zu-Heroku-Zeitzone-Verschiebung-out-of-Bereich (sie hatten eine Lösung, die funktionierte, aber nicht sicher, ob es für Sie gelten wird). –

Antwort

7

Dies ist ein Ruby 1.9.3 Fehler. Sie sollten 1.9.2 mit db: push verwenden, um zu arbeiten. Wenn Sie rvm installiert haben, können Sie es auf diese Weise tun:

 
rvm use ruby-1.9.2-p318 
heroku db:push 

sicherstellen, dass Sie die richtige Version 1.9.2 verwende ich p318 als ein Beispiel zu geben, weil ich es an meinem Ende installiert haben. Um die installierten Ruby-Versionen mit rvm anzuzeigen, verwenden Sie rvm list. Wenn Sie nicht 1.9.2 installiert haben, verwenden Sie rvm install ruby-1.9.2

+1

Ich musste irgendwie den Pfad von Ruby angeben (auch wenn ich "rvm ruby-1.9.2 -..." verwende). $ ~/.rvm/bin/ruby-1.9.2-p320/usr/bin/heroku db: push –

+0

Dies kann aufgrund der Tatsache sein, dass es ein Heroku Juwel und Heroku Toolbelt gibt. Ich denke, dass beide einen Heroku-Befehl geben. Soweit ich weiß, ist das Juwel veraltet und nur der Heroku Toolbelt sollte verwendet werden. Das ist nur eine wilde Vermutung. –

1

Verwenden Sie eine Edelstein-Set mit Ruby 1.9.2, installieren Sie Taps und sqlite3, alles wird gut.

+0

Dies war nützlich, kombiniert mit der obigen Antwort. Zu 1.9.2 gewechselt und dann gemst installiert (nicht sudo cos sein rvm) alle drei Edelsteine. Sieg. – Will

0

Endlich bekam ich dies mit Hilfe von Doshas Antwort here zu arbeiten.

Stellen Sie sicher, dass Ihre Version von Ruby mit der auf Heroku ausgeführten Version übereinstimmt. Es scheint, als wäre 1.9.2 die stabilste Version für diese Migrationen.

Ihre gemfile Ändern Sie den folgenden haben (vorausgesetzt, Sie verwenden SQLite):

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

Dies wahrscheinlich immer noch nicht Ihr Problem lösen, weil Ihr heroku db:push Befehl Heroku Symbolleiste anstelle der älteren verwendet, jetzt Heroku-Juwel Leider wollen wir eigentlich das ältere Juwel, aber die Heroku Toolbar wird von heroku aufgerufen. Um dies zu umgehen, müssen Sie den Heroku-Edelstein in Ihrer Version von ruby ​​1.9.2 installieren und dann auf seinen spezifischen Dateipfad zugreifen.

So, die nächsten Schritte zeigen, wie Sie diese Arbeit bekommen können:

Führen Sie die folgenden Befehle in die Konsole:

rvm install ruby-1.9.2-p320 
rvm use ruby-1.9.2-p320 
bundle install` 
sudo gem install heroku --no-ri --no-rdoc 

Dann laufen:

rake assets:clean 
bundle exec rake assets:precompile 

Ihre Änderungen nach Github.

Geben Sie dann folgendes in der Konsole:

~/.rvm/gems/ruby-1.9.2-p320/gems/heroku-2.40.0/bin/heroku db:push (Verwenden Sie Ihren eigenen Dateipfad, wenn es von dieser unterscheidet.)

Verwandte Themen