ruby-on-rails - 点击服务器错误 : unitialized constant Config (migration from SQLite to Postgres)

标签 ruby-on-rails postgresql sqlite heroku

我正在尝试将我的 Rails SQLite 数据库转换为 Postgres 数据库,以最终部署在 Heroku 上。我一直在按照此处提供的指南对水龙头进行故障排除 taps migration failing from sqlite to postgres rails4, ruby 1.9.3 .

我成功启动了 taps 服务器,但在拉取时出现以下错误。

Receiving schema
Schema:          0%   | ETA:  --:--:--
Saving session to pull_201506052236.dat..
!!! Caught Server Exception
HTTP CODE: 500
Taps Server Error: uninitialized constant Config

当我拉取时,我输入“taps server”命令行项的控制台也显示错误:

ERROR: NameError: uninitialized constant Config
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 - bastien [05/Jun/2015 22:36:35] 
"POST /sessions/169975329    /pull/schema HTTP/1.1" 500 518 0.0039
localhost - - [05/Jun/2015:22:36:35 CEST] 
"POST /sessions/169975329 /pull/schema HTTP/1.1" 500 518
- -> /sessions/169975329/pull/schema

你能帮我理解这个问题以及如何解决它吗?

请看下面两个控制台的完整日志

1) 控制台“拉”

Receiving schema
Schema:          0% |                                                                                                          | ETA:  --:--:--
Saving session to pull_201506052236.dat..
!!! Caught Server Exception
HTTP CODE: 500
Taps Server Error: uninitialized constant Config
["/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/taps-0.3.24/lib/taps/utils.rb:17:in `windows?'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/taps-0.3.24/lib/taps/utils.rb:21:in `bin'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/taps-0.3.24/lib/taps/utils.rb:132:in `schema_bin'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/taps-0.3.24/lib/taps/server.rb:136:in `block in <class:Server>'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `call'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:865:in `block in route'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `instance_eval'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:521:in `route_eval'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:500:in `block (2 levels) in route!'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `catch'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:497:in `block in route!'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `each'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:476:in `route!'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:601:in `dispatch!'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `block in call!'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `instance_eval'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `block in invoke'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `catch'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:566:in `invoke'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:411:in `call!'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:399:in `call'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rack-1.0.1/lib/rack/deflater.rb:13:in `call'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rack-1.0.1/lib/rack/auth/basic.rb:25:in `call'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rack-1.0.1/lib/rack/commonlogger.rb:20:in `_call'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rack-1.0.1/lib/rack/commonlogger.rb:13:in `call'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `block in call'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:1005:in `synchronize'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sinatra-1.0/lib/sinatra/base.rb:979:in `call'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rack-1.0.1/lib/rack/content_length.rb:13:in `call'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rack-1.0.1/lib/rack/handler/webrick.rb:50:in `service'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run'", "/home/bastien/.rbenv/versions/2.2.2/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'"]

2) 控制台“点击服务器”

最初在命令“点击服务器”之后

== Sinatra/1.0 has taken the stage on 5000 for production with backup from WEBrick
[2015-06-05 22:36:28] INFO  WEBrick 1.3.1
[2015-06-05 22:36:28] INFO  ruby 2.2.2 (2015-04-13) [x86_64-linux]
[2015-06-05 22:36:28] INFO  WEBrick::HTTPServer#start: pid=9396 port=5000

一旦我在另一个控制台中运行“拉”

127.0.0.1 - bastien [05/Jun/2015 22:36:34] "GET / HTTP/1.1" 200 25 0.0008
localhost - - [05/Jun/2015:22:36:34 CEST] "GET / HTTP/1.1" 200 25
- -> /
127.0.0.1 - bastien [05/Jun/2015 22:36:35] "POST /sessions HTTP/1.1" 200 39 0.1057
localhost - - [05/Jun/2015:22:36:34 CEST] "POST /sessions HTTP/1.1" 200 39
- -> /sessions
[...]
/pull/table_count HTTP/1.1" 200 21
- -> /sessions/169975329/pull/table_count
NameError - uninitialized constant Config:
 /home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/taps-0.3.24 /lib/taps/utils.rb:17:in `windows?'
 /home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/taps-0.3.24/lib/taps/utils.rb:21:in `bin'
 /home/bastien/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/taps-0.3.24/lib/taps/utils.rb:132:in `schema_bin'
[...]

ERROR: NameError: uninitialized constant Config
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 - bastien [05/Jun/2015 22:36:35] "POST /sessions/169975329/pull/schema HTTP/1.1" 500 518 0.0039
localhost - - [05/Jun/2015:22:36:35 CEST] "POST /sessions/169975329/pull/schema HTTP/1.1" 500 518
- -> /sessions/169975329/pull/schema

最佳答案

这是一个已知问题,有一个尚未合并的补丁:

https://github.com/ricardochimal/taps/pull/144

https://github.com/ricardochimal/taps/pull/143

我有同样的问题,我认为这是因为我们都使用当前版本的 Ruby (2.2.x)

关于ruby-on-rails - 点击服务器错误 : unitialized constant Config (migration from SQLite to Postgres),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30675765/

相关文章:

ruby-on-rails - Rails attr_accessible :object vs :object_id

postgresql - pg_dump 串行数据类型问题

sql - PostgreSQL 从一个表中选择全部并从表关系中加入计数

sql - 如何通过一个SQL在二维中显示x,y,count(*)?

java - 请求异常索引 1,大小为 1

sql - 停止在联接上返回多个相似的行

ruby-on-rails - 使用全名搜索时,Gem Ransack 不会返回任何结果

ruby-on-rails - 使用 Mongo 部署 Heroku

regex - postgres regexp_replace 只想允许 a-z 和 A-Z

ruby-on-rails - rails : Form Submit Perform Two Actions