问题描述
我正在尝试将Rails应用程序迁移到heroku的Postgresql,但是我却无法从SQLite3数据库中获取数据,这是我已经尝试的方法:
I am trying to migrate my Rails app to Postgresql for heroku however i can't get taps to get the data from my SQLite3 database, here is what i have tried:
为新数据库创建Postgres数据库用户
$ createuser f3
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) y
编辑-下面的更新命令-改用此命令
$ createuser f3 -d -s
创建所需的数据库
$ createdb -Of3 -Eutf8 f3_development
$ createdb -Of3 -Eutf8 f3_test
更新Gemfile
gem 'sqlite3'
gem 'pg'
gem 'taps'
$ bundle
更新database.yml
#development:
# adapter: sqlite3
# database: db/development.sqlite3
# pool: 5
# timeout: 5000
development:
adapter: postgresql
encoding: unicode
database: f3_development
pool: 5
username: f3
password:
#test:
# adapter: sqlite3
# database: db/test.sqlite3
# pool: 5
# timeout: 5000
test:
adapter: postgresql
encoding: unicode
database: f3_test
pool: 5
username: f3
password:
在sqlite数据库上启动Taps服务器
$ taps server sqlite://db/development.sqlite3 user password
迁移数据
$ taps pull postgres://f3@localhost/f3_development http://user:password@localhost:5000
这会产生错误:
MacBook-Pro:devise_example-master david$ taps pull postgres://david:abc123@localhost/f3_development http://user:password@localhost:5000
Receiving schema
Unable to fetch tables information from http://user:password@localhost:5000. Please check the server log.
任何人都可以解决此问题,(我不能只使用rvm切换到Ruby 1.9.2,因为我的应用使用了很多无法用于旧红宝石的宝石).
Anyone got a fix for this, (I cant just switch to Ruby 1.9.2 using rvm cause my app use a lot of gems that aren't working for the old ruby).
以下是发出拉出命令时来自taps sqlite服务器的日志
MacBook-Pro:devise_example-master david$ taps server sqlite://db/development.sqlite3 user password
== Sinatra/1.0 has taken the stage on 5000 for production with backup from WEBrick
[2013-08-13 21:38:23] INFO WEBrick 1.3.1
[2013-08-13 21:38:23] INFO ruby 1.9.3 (2013-06-27) [x86_64-darwin12.4.0]
[2013-08-13 21:38:23] INFO WEBrick::HTTPServer#start: pid=4357 port=5000
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET / HTTP/1.1" 200 - 0.0011
localhost - - [13/Aug/2013:21:38:32 CEST] "GET / HTTP/1.1" 200 31
- -> /
127.0.0.1 - user [13/Aug/2013 21:38:32] "POST /sessions HTTP/1.1" 200 - 0.0070
localhost - - [13/Aug/2013:21:38:32 CEST] "POST /sessions HTTP/1.1" 200 46
- -> /sessions
Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations:
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in `valenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `block in arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `map'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:410:in `encode'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/taps-0.3.24/lib/taps/server.rb:157:in `block in <class:Server>'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `block in route'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `route_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:500:in `block (2 levels) in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `block in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:601:in `dispatch!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `block in call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `block in invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:399:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/deflater.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/auth/basic.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `block in call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:1005:in `synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations
An error occurred but Hoptoad was not notified. To use Hoptoad, please
install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"]
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0112
localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522
- -> /sessions/6475330165/pull/table_names
Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations:
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in `valenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `block in arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `map'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:410:in `encode'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/taps-0.3.24/lib/taps/server.rb:157:in `block in <class:Server>'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `block in route'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `route_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:500:in `block (2 levels) in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `block in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:601:in `dispatch!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `block in call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `block in invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:399:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/deflater.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/auth/basic.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `block in call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:1005:in `synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations
An error occurred but Hoptoad was not notified. To use Hoptoad, please
install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"]
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0048
localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522
- -> /sessions/6475330165/pull/table_names
Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations:
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in `valenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `block in arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `map'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:410:in `encode'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/taps-0.3.24/lib/taps/server.rb:157:in `block in <class:Server>'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `block in route'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `route_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:500:in `block (2 levels) in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `block in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:601:in `dispatch!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `block in call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `block in invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:399:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/deflater.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/auth/basic.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `block in call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:1005:in `synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations
An error occurred but Hoptoad was not notified. To use Hoptoad, please
install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"]
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0043
localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522
- -> /sessions/6475330165/pull/table_names
Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations:
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in `valenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `block in arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `map'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:410:in `encode'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/taps-0.3.24/lib/taps/server.rb:157:in `block in <class:Server>'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `block in route'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `route_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:500:in `block (2 levels) in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `block in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:601:in `dispatch!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `block in call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `block in invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:399:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/deflater.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/auth/basic.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `block in call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:1005:in `synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations
An error occurred but Hoptoad was not notified. To use Hoptoad, please
install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"]
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0046
localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522
- -> /sessions/6475330165/pull/table_names
Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations:
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in
..................
..................
lib/ruby/1.9.1/webrick/httpserver.rb:138:在service' /usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in
run'中 /usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:在block in start_thread' ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations An error occurred but Hoptoad was not notified. To use Hoptoad, please install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"] 127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0045 localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522 - -> /sessions/6475330165/pull/table_names Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations: /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in
valenc' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:block in arrenc' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in
map中的' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:在arrenc' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:410:in
编码中' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/taps-0.3.24/lib/taps/server.rb:157:在block in <class:Server>' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in
中调用' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in block in route' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in
instance_eval'
lib/ruby/1.9.1/webrick/httpserver.rb:138:in service' /usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in
run' /usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in block in start_thread' ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations An error occurred but Hoptoad was not notified. To use Hoptoad, please install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"] 127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0045 localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522 - -> /sessions/6475330165/pull/table_names Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations: /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in
valenc' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in block in arrenc' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in
map' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in arrenc' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:410:in
encode' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/taps-0.3.24/lib/taps/server.rb:157:in block in <class:Server>' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in
call' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in block in route' /usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in
instance_eval'
......
ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations
An error occurred but Hoptoad was not notified. To use Hoptoad, please
install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"]
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0050
localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522
- -> /sessions/6475330165/pull/table_names
Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations:
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in `valenc'
......
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations
An error occurred but Hoptoad was not notified. To use Hoptoad, please
install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"]
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0045
localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522
- -> /sessions/6475330165/pull/table_names
Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations:
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in `valenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `block in arrenc'
......
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `block in call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:1005:in `synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations
An error occurred but Hoptoad was not notified. To use Hoptoad, please
install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"]
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0159
localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522
- -> /sessions/6475330165/pull/table_names
Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations:
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in `valenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in
.......
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:399:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/deflater.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/auth/basic.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `block in call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:1005:in `synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations
An error occurred but Hoptoad was not notified. To use Hoptoad, please
install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"]
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0048
localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522
- -> /sessions/6475330165/pull/table_names
Rack::Utils::OkJson::Error - cannot encode Symbol: :schema_migrations:
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:427:in `valenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `block in arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `map'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:438:in `arrenc'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/utils/okjson.rb:410:in `encode'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/taps-0.3.24/lib/taps/server.rb:157:in `block in <class:Server>'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `block in route'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `route_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:500:in `block (2 levels) in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `block in route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `route!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:601:in `dispatch!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `block in call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `instance_eval'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `block in invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `catch'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `invoke'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `call!'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:399:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/deflater.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/auth/basic.rb:25:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/commonlogger.rb:33:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `block in call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:1005:in `synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p448/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/local/rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
ERROR: Rack::Utils::OkJson::Error: cannot encode Symbol: :schema_migrations
An error occurred but Hoptoad was not notified. To use Hoptoad, please
install the 'hoptoad_notifier' gem and set ENV["HOPTOAD_API_KEY"]
127.0.0.1 - user [13/Aug/2013 21:38:32] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 - 0.0045
localhost - - [13/Aug/2013:21:38:32 CEST] "GET /sessions/6475330165/pull/table_names HTTP/1.1" 500 522
- -> /sessions/6475330165/pull/table_names
推荐答案
这对我有用:
- 我从项目目录上移了一个目录,然后执行了以下操作
-
gem install taps
-
gem uninstall rack
-
gem install rack --version 1.0.1
- I went up one directory from my project directory then did the following
gem install taps
gem uninstall rack
gem install rack --version 1.0.1
从项目目录启动sqlite服务器,在一个向上的目录"中运行:
Start the sqlite server from the project directory, in the 'one up directory' run:
taps pull postgres://f3@localhost/f3_development http://user:password@localhost:5000
然后像以前一样进行迁移,并且可以正常工作.我已经安装了机架1.5.2,因此必须将其卸下,然后用机架1.0.1替换它.我正在使用ruby 2.0.0-p0和rails 4.0.0.beta1
Then did the migration as before and it worked. I had rack 1.5.2 installed so I had to remove that and replace it with rack 1.0.1. I'm using ruby 2.0.0-p0 and rails 4.0.0.beta1
似乎只有pull命令需要旧版本的机架,这样服务器才能在新的1.5.2版本上运行...
It seems only the pull command needed the old version of rack so the server could run on the newer 1.5.2 version...
这篇关于从sqlite迁移到postgres rails4失败,ruby 1.9.3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!