我有一个在开发和制作中使用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。
似乎没什么用。让我生气!
答案 0 :(得分:3)
我找到了一些解决办法
我在heroku上的SHARED_DATABASE也有同样的问题
红宝石1.9.2
宝石:
第0页(0.11.0)
heroku(2.32.4)
heroku-api(0.3.5)
水龙头(0.3.24)
heroku db:pull结束于:
无法从http://...@taps19.heroku.com获取表信息。请检查服务器日志。
我使用rvm和heroku db切换到ruby 1.8.7:pull工作正常 再回到ruby 1.9.2来开发我的应用程序。
我希望这有助于某人直到db:pull将使用ruby 1.9.2修复。
答案 1 :(得分:2)
我刚收到heroku的回答。他们说他们在使用水龙头时遇到了一些问题,而且现在又重新开始了。
我查了一下,确认它对我有用。
RGDS,
答案 2 :(得分:1)
(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
您应该拥有的本地数据库登录详细信息。
我自己没有检查下面的说明,所以请将它们与你的大脑一起使用; - )
我是从
找到的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
一些手动过程,但它至少可以让你前进。