5

我有一个在开发和生产中使用 postgres 的应用程序。我最近推到heroku,一切正常。我能够从 heroku 中提取数据库并毫无问题地向上推。然而今天,我试图从 heroku 中拉下数据库,我收到了这个错误

heroku db:pull

Loaded Taps v0.3.24
    Auto-detected local database: postgres://postgres:a@127.0.0.1/app_development?encoding=utf8
    Warning: Data in the database 'postgres://postgres:a@127.0.0.1/app_development?encoding=utf8' will be overwritten and will not be recoverable.

     !    WARNING: Destructive Action
     !    This command will affect the app: app
     !    To proceed, type "app" or re-run this command with --confirm app

    > app
Receiving schema
Unable to fetch tables information from http://heroku:osui59a24am79x@taps19.heroku.com. Please check the server log.

所以我heroku logs追赶:

james@james-Vostro-3550:~/Desktop/app$ heroku logs
2012-09-25T10:08:32+00:00 app[web.1]: Started GET "/users" for X.X.X.X at 2012-09-25 10:08:32 +0000
2012-09-25T10:08:32+00:00 heroku[router]: GET app.herokuapp.com/users? dyno=web.1 queue=0 wait=0ms service=38ms status=200 bytes=10727
2012-09-25T10:08:32+00:00 app[web.1]: 
2012-09-25T10:08:32+00:00 app[web.1]: 
2012-09-25T10:08:32+00:00 app[web.1]: Started GET "/application.css" for X.X.X.X at 2012-09-25 10:08:32 +0000
2012-09-25T10:08:32+00:00 app[web.1]: 
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.6/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2012-09-25T10:08:32+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/application.css"):
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.6/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/rack/logger.rb:26:in `call_app'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/rack/logger.rb:16:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.6/lib/action_dispatch/middleware/request_id.rb:22:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/runtime.rb:17:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.6/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
2012-09-25T10:08:32+00:00 heroku[router]: GET app.herokuapp.com/application.css dyno=web.1 queue=0 wait=0ms service=6ms status=404 bytes=728
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/lock.rb:15:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.6/lib/action_dispatch/middleware/static.rb:62:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in `fetch'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:185:in `lookup'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in `call!'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/engine.rb:479:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/application.rb:220:in `call'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/railtie/configurable.rb:30:in `method_missing'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:in `catch'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:80:in `block in pre_process'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:53:in `process'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:in `pre_process'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:38:in `receive_data'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/backends/base.rb:63:in `start'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/server.rb:159:in `start'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/controllers/controller.rb:86:in `start'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:185:in `run_command'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:151:in `run!'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/bin/thin:6:in `<top (required)>'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/bin/thin:19:in `load'
2012-09-25T10:08:32+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/bin/thin:19:in `<main>'
2012-09-25T10:08:32+00:00 app[web.1]: 
2012-09-25T10:08:32+00:00 app[web.1]: 
2012-09-25T10:08:32+00:00 heroku[router]: GET app.herokuapp.com/assets/admin-e0756c8b3550bb800d5f58837c42ec80.css dyno=web.1 queue=0 wait=0ms service=7ms status=200 bytes=1941
2012-09-25T10:08:32+00:00 app[web.1]: 
2012-09-25T10:08:32+00:00 app[web.1]: 
2012-09-25T10:08:32+00:00 app[web.1]: Started GET "/assets/admin-e0756c8b3550bb800d5f58837c42ec80.css" for X.X.X.X at 2012-09-25 10:08:32 +0000
2012-09-25T10:08:41+00:00 app[web.1]: 
2012-09-25T10:08:41+00:00 app[web.1]: 
2012-09-25T10:08:41+00:00 app[web.1]: Started GET "/projects" for X.X.X.X at 2012-09-25 10:08:41 +0000
2012-09-25T10:08:41+00:00 heroku[router]: GET app.herokuapp.com/projects dyno=web.1 queue=0 wait=0ms service=31ms status=304 bytes=0
2012-09-25T10:08:41+00:00 app[web.1]: Started GET "/application.css" for X.X.X.X at 2012-09-25 10:08:41 +0000
2012-09-25T10:08:41+00:00 app[web.1]: 
2012-09-25T10:08:41+00:00 app[web.1]: 
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.6/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2012-09-25T10:08
:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.6/lib/action_dispatch/middleware/request_id.rb:22:in `call'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/lock.rb:15:in `call'
2012-09-25T10:08:41+00:00 app[web.1]: 
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.6/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
2012-09-25T10:08:41+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/application.css"):
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:185:in `lookup'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.6/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/rack/logger.rb:26:in `call_app'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in `fetch'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/rack/logger.rb:16:in `call'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/runtime.rb:17:in `call'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/railtie/configurable.rb:30:in `method_missing'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-3.2.6/lib/action_dispatch/middleware/static.rb:62:in `call'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/application.rb:220:in `call'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/server.rb:159:in `start'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:in `catch'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-3.2.6/lib/rails/engine.rb:479:in `call'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in `call!'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:80:in `block in pre_process'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:53:in `process'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/backends/base.rb:63:in `start'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:78:in `pre_process'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/connection.rb:38:in `receive_data'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:151:in `run!'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/runner.rb:185:in `run_command'
2012-09-25T10:08:41+00:00 app[web.1]: 
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/bin/thin:19:in `<main>'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/lib/thin/controllers/controller.rb:86:in `start'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/thin-1.4.1/bin/thin:6:in `<top (required)>'
2012-09-25T10:08:41+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/bin/thin:19:in `load'
2012-09-25T10:08:41+00:00 app[web.1]: 
2012-09-25T10:08:41+00:00 heroku[router]: GET app.herokuapp.com/application.css dyno=web.1 queue=0 wait=0ms service=9ms status=404 bytes=728
2012-09-25T10:11:00+00:00 heroku[run.1]: Awaiting client
2012-09-25T10:11:00+00:00 heroku[run.1]: Starting process with command `bundle exec rake db:migrate`
2012-09-25T10:11:00+00:00 heroku[run.1]: State changed from starting to up
2012-09-25T10:11:06+00:00 heroku[run.1]: Client connection closed. Sending SIGHUP to all processes
2012-09-25T10:11:07+00:00 heroku[run.1]: Process exited with status 1
2012-09-25T10:11:07+00:00 heroku[run.1]: State changed from up to complete
2012-09-25T10:08:23+00:00 heroku[web.1]: State changed from starting to up
2012-09-25T10:08:01+00:00 heroku[web.1]: Unidling
2012-09-25T10:08:01+00:00 heroku[web.1]: State changed from down to starting

我不知道在哪里寻找解决方案,所以希望有人可以提供帮助。我刚刚开始学习 Rails,所以在尝试提供帮助时请记住这一点。

提前致谢。

编辑:

我尝试了各种方法:重新安装heroku,点击。重新制作我的应用程序并推送到heroku。重新安装postgres。

似乎没有任何效果。快把我逼疯了!

4

3 回答 3

3

我找到了某种解决方法。
我在 heroku
ruby​​ 1.9.2
gems 上的 SHARED_DATABASE 也有同样的问题:
pg (0.11.0)
heroku (2.32.4)
heroku-api (0.3.5)
taps (0.3.24)
heroku db:pull 结束于:
无法从http://...@taps19.heroku.com获取表格信息。请检查服务器日志。

我使用 rvm 切换到 ruby​​ 1.8.7,heroku db:pull 工作正常。
再次回到 ruby​​ 1.9.2 来开发我的应用程序。

我希望这对某人有所帮助,直到 db:pull 将被 ruby​​ 1.9.2 修复。

于 2012-09-26T13:36:00.057 回答
2

MySQL

(关于 PostgreSQL 的说明在页面下方)

一个临时的解决方法是直接从数据库服务器转储数据并自己手动加载。我在 MySQL 中有两个数据库(在 Heroku 和本地),所以我做了:

1. mysqldump -h host -P port_number -u user_name_to_your_db -p your_db_name > data.sql

使用正确的详细信息运行上述命令后,系统将要求您输入密码。

注意:永远不要将您的密码放入您的 shell 命令中,因为它存储在 shell 命令历史记录中。

从 Heroku 配置中获取您的username, password, your_db_name,host和:port_number

2. heroku config --app your-app-name | grep DATABASE_URL

您的DATABASE_URL遗嘱如下所示:

mysql2://username:password@host:port_number/your_db_name

一个更真实的示例DATABASE_URL如下所示(那里的登录详细信息已修改):

mysql2://afdgsdfghliue:ESIJAFDG-sAFsgiags3464@ec2-34-15-23-232.compute-2.amazonaws.com:5432/9twgsenr8543

在这种情况下,详细信息将分别为(请记住,这些是假的):

username: afdgsdfghliue:ESIJAFDG
password: ESIJAFDG-sAFsgiags3464
host:     ec2-34-15-23-232.compute-2.amazonaws.com
port:     5432
database: 9twgsenr8543

当您mysqldump使用正确的详细信息运行时,1.您的数据将存储在本地 data.sql 中。现在要将其加载到您的本地数据库(我们仍在谈论 MySQL),您需要运行:

mysql -u your_local_db_username -h 127.0.0.1 -p your_local_db_name < data.sql

您应该拥有的本地数据库登录详细信息。

PostgreSQL

我自己没有检查过以下说明,所以请与你的大脑一起使用它们;-)

我从

pg_dump --help 

你可以运行类似的命令从 Heroku 转储你的 PostgreSQL 数据库,如下所示:

pg_dump -h host -p port -U username -W your_db_name > data.sql

DATABASE_URL将开始postgres

postgres://username:password@host:port_number/your_db_name

基于

psql --help

以下是如何从data.sql上面准备的文件中加载本地 PostgreSQL 数据库:

psql -h 127.0.0.1 -U your_local_db_username -W -d your_local_db_name -f data.sql

一些手动过程,但它至少可以让你继续前进。

于 2012-09-25T13:31:48.437 回答
2

我刚收到heroku的答复。他们说他们在使用水龙头时遇到了一些问题,现在它又可以正常工作了。

我检查并确认它对我有用。

Rgds,

于 2012-09-26T18:06:51.043 回答