【发布时间】:2015-10-23 11:05:58
【问题描述】:
我试图将我的 rails 项目数据库推送到 heroku 的数据库。
我输入这个
heroku pg:push ReadingList_development DATABASE_URL --app calm-eyrie-9110
(ReadingList_development 是我的本地数据库名称。)
但是,它显示了这个错误
sh: psql: command not found
! Heroku client internal error.
! Search for help at: https://help.heroku.com
! Or report a bug at: https://github.com/heroku/heroku/issues/new
Error: psql failed. exit status 32512, output: "" (RuntimeError)
Command: heroku pg:push ReadingList_development DATABASE_URL --app calm-eyrie-9110
Plugins: heroku-legacy-taps
Version: heroku-toolbelt/3.40.6 (x86_64-darwin10.8.0) ruby/1.9.3
Error ID: c131ced7e02d4080a3ff53e27d7bd983
More information in /Users/Coda/.heroku/error.log
这里是 error.log
Heroku client internal error.
psql failed. exit status 32512, output: ""
/Users/Coda/.heroku/client/lib/heroku/command/pg.rb:783:in `exec_sql_on_uri'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:108:in `exec_sql_on_uri'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:53:in `ensure_remote_db_empty'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:23:in `prepare'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:14:in `execute'
/Users/Coda/.heroku/client/lib/heroku/command/pg.rb:371:in `push'
/Users/Coda/.heroku/client/lib/heroku/command.rb:212:in `run'
/Users/Coda/.heroku/client/lib/heroku/cli.rb:27:in `start'
/usr/bin/heroku:24:in `<main>'
Heroku client internal error.
psql failed. exit status 32512, output: ""
/Users/Coda/.heroku/client/lib/heroku/command/pg.rb:783:in `exec_sql_on_uri'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:108:in `exec_sql_on_uri'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:53:in `ensure_remote_db_empty'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:23:in `prepare'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:14:in `execute'
/Users/Coda/.heroku/client/lib/heroku/command/pg.rb:371:in `push'
/Users/Coda/.heroku/client/lib/heroku/command.rb:212:in `run'
/Users/Coda/.heroku/client/lib/heroku/cli.rb:27:in `start'
/usr/bin/heroku:24:in `<main>'
Heroku client internal error.
psql failed. exit status 32512, output: ""
/Users/Coda/.heroku/client/lib/heroku/command/pg.rb:783:in `exec_sql_on_uri'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:108:in `exec_sql_on_uri'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:53:in `ensure_remote_db_empty'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:23:in `prepare'
/Users/Coda/.heroku/client/lib/heroku/helpers/pg_dump_restore.rb:14:in `execute'
/Users/Coda/.heroku/client/lib/heroku/command/pg.rb:371:in `push'
/Users/Coda/.heroku/client/lib/heroku/command.rb:212:in `run'
/Users/Coda/.heroku/client/lib/heroku/cli.rb:27:in `start'
/usr/bin/heroku:24:in `<main>`
更新
语法应该像
heroku pg:push mylocaldb HEROKU_POSTGRESQL_MAGENTA --app sushi
我不确定mylocaldb 和HEROKU_POSTGRESQL_MAGENTA 应该是什么。当我输入这个
heroku pg:push mylocaldb HEROKU_POSTGRESQL_MAGENTA --app calm-eyrie-9110
返回
Unknown database: HEROKU_POSTGRESQL_MAGENTA. Valid options are: DATABASE_URL
mylocaldb 是否应该与database.yaml 中的名称相同?
这是我的database.yaml 信息
default: &default
adapter: postgresql
encoding: unicode
pool: 5
development:
<<: *default
database: ReadingList_development
此外,我输入heroku config:get -a calm-eyrie-9110
返回
! Usage: heroku config:get KEY
! Must specify KEY.
【问题讨论】:
-
尾声你见过SO question and answer吗?您的语法看起来不太正确,此答案还包括其他一些提示。如果这可以帮助您更新您的帖子,请点赞链接的答案。
-
谢谢,我会试试这个
-
@steveklein ,我阅读了那个答案,但我仍然无法弄清楚,我已经更新了我的问题。
-
mylocaldb应该是ReadingList_development。我上面引用的帖子提供了确定 Heroku DB 名称的步骤。
标签: ruby-on-rails heroku deployment web-deployment heroku-postgres