【问题标题】:Heroku Invalid DATABASE_URL when pushing - Heroku bug, fixed now推送时 Heroku 无效的 DATABASE_URL - Heroku 错误,现已修复
【发布时间】:2013-07-23 23:41:39
【问题描述】:

编辑:

这是 Heroku 的一个临时错误,他们已修复。


上周我的推送/部署到heroku失败了。这是一个在 cedar 堆栈上使用 activerecord 的 sinatra 应用程序。

我能够在 Heroku 中多次部署和运行我的应用程序。我正在使用 postgres 和 cedar 堆栈。

我对 app.rb 做了一个空格更改并推送,但推送未被接受。

该应用目前正在使用上周的代码在服务器上运行。它正在使用数据库,所以它可以看到它。

Heroku info 和 heroku config 正确列出了 DATABASE_URL。

我创建了一个新数据库,并对其进行了推广,但没有帮助(正在运行的实例可以使用新数据库)。

我创建了一个在 cedar 堆栈上运行的新 dyno,设置了一个新的数据库并对其进行了配置,但无法将代码推送到它并出现相同的错误。

以下是错误信息: 在这种情况下,我正在尝试使用最新版本的 sinatra activerecord 来查看是否存在错误(它没有帮助)

git push heroku heroku_bug_before:master
Counting objects: 20, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (14/14), 1.60 KiB, done.
Total 14 (delta 9), reused 0 (delta 0)

-----> Ruby/Rack app detected
-----> Using Ruby version: ruby-1.9.2
-----> Installing dependencies using Bundler version 1.3.2
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
       Fetching gem metadata from https://rubygems.org/.........
       Fetching gem metadata from https://rubygems.org/..
       Using i18n (0.6.1)
       Using multi_json (1.7.7)
       Using activesupport (3.2.13)
       Using builder (3.0.4)
       Using activemodel (3.2.13)
       Using arel (3.0.2)
       Using tzinfo (0.3.37)
       Using activerecord (3.2.13)
       Using backports (3.3.3)
       Using bond (0.4.3)
       Using eventmachine (1.0.3)
       Using kgio (2.8.0)
       Using libxml-ruby (2.6.0)
       Using mime-types (1.23)
       Using oj (2.1.4)
       Using pg (0.15.1)
       Using r18n-core (1.1.5)
       Using rack (1.5.2)
       Using rack-protection (1.5.0)
       Using rack-test (0.6.2)
       Using raindrops (0.11.0)
       Using rest-client (1.6.7)
       Using ripl (0.7.0)
       Using ripl-multi_line (0.3.1)
       Using ripl-rack (0.2.0)
       Using tilt (1.4.1)
       Using sinatra (1.3.2)
       Installing sinatra-activerecord (1.2.3)
       Using sinatra-contrib (1.3.2)
       Using sinatra-flash (0.3.0)
       Using sinatra-r18n (1.1.5)
       Using tux (0.3.0)
       Using unicorn (4.6.3)
       Using bundler (1.3.2)
       Your bundle is complete! It was installed into ./vendor/bundle
       Cleaning up the bundler cache.
       Removing sinatra-activerecord (1.2.2)
-----> Writing config/database.yml to read from DATABASE_URL
 !
 !     rake aborted!
 !     Invalid DATABASE_URL
 !     (erb):9:in `rescue in <main>'
 !     (erb):6:in `<main>'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/erb.rb:753:in `eval'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/erb.rb:753:in `result'
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-activerecord-1.2.3/lib/sinatra/activerecord.rb:39:in `database_file='
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.2/lib/sinatra/base.rb:983:in `set'
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-activerecord-1.2.3/lib/sinatra/activerecord.rb:50:in `registered'
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.2/lib/sinatra/base.rb:1262:in `block in register'
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.2/lib/sinatra/base.rb:1260:in `each'
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.2/lib/sinatra/base.rb:1260:in `register'
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.2/lib/sinatra/base.rb:1590:in `register'
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-1.3.2/lib/sinatra/base.rb:1630:in `register'
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-activerecord-1.2.3/lib/sinatra/activerecord.rb:76:in `<module:Sinatra>'
 !     /tmp/build_2b0q7ep6511dz/vendor/bundle/ruby/1.9.1/gems/sinatra-activerecord-1.2.3/lib/sinatra/activerecord.rb:6:in `<top (required)>'
 !     /tmp/build_2b0q7ep6511dz/app.rb:2:in `require'
 !     /tmp/build_2b0q7ep6511dz/app.rb:2:in `<top (required)>'
 !     /tmp/build_2b0q7ep6511dz/Rakefile:1:in `require'
 !     /tmp/build_2b0q7ep6511dz/Rakefile:1:in `<top (required)>'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `load'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile'
 !     (eval):1:in `block in standard_rake_options'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:2213:in `eval'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:2213:in `block in standard_rake_options'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/optparse.rb:1308:in `call'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/optparse.rb:1308:in `block in parse_in_order'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/optparse.rb:1264:in `catch'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/optparse.rb:1264:in `parse_in_order'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/optparse.rb:1258:in `order!'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/optparse.rb:1349:in `permute!'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/optparse.rb:1370:in `parse!'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:2303:in `handle_options'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:1999:in `block in init'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:1997:in `init'
 !     /tmp/ruby-1.9.2/lib/ruby/1.9.1/rake.rb:1990:in `run'
 !     /tmp/ruby-1.9.2/bin/rake:31:in `<main>'
 !     (in /tmp/build_2b0q7ep6511dz)
 !
sh: Syntax error: Unterminated quoted string

 !     Push rejected, failed to compile Ruby/Rack app

heroku 配置(你可以看到我添加和提升的额外数据库)

=== visualtags Config Vars
DATABASE_URL:                 postgres://changed1:changed@ec2-54-217-215-81.eu-west-1.compute.amazonaws.com:5432/changed1
HEROKU_POSTGRESQL_COBALT_URL: postgres://changed2:changed@ec2-54-217-215-81.eu-west-1.compute.amazonaws.com:5432/changed2
HEROKU_POSTGRESQL_CYAN_URL:   postgres://changed3:changed@ec2-54-217-215-96.eu-west-1.compute.amazonaws.com:5432/changed3

heroku pg:信息

=== HEROKU_POSTGRESQL_COBALT_URL (DATABASE_URL)
Plan:        Dev
Status:      available
Connections: 4
PG Version:  9.2.4
Created:     2013-07-23 17:49 UTC
Data Size:   6.4 MB
Tables:      2
Rows:        4/10000 (In compliance) - refreshing
Fork/Follow: Unsupported
Region:      Europe

heroku 信息

=== herokuapp
Addons:        heroku-postgresql:dev
               heroku-postgresql:dev

Git URL:       xxx
Owner Email:   mine@example.com
Region:        eu
Repo Size:     8M
Slug Size:     17M
Stack:         cedar
Tier:          Legacy
Web URL:       http://xxx.herokuapp.com/

我已经为此花费了数小时 - 上周它还在工作,但现在它不再工作了。我正在使用 Unicorn 和 ActiveRecord 并遵循文档中的建议...

有什么想法吗?

【问题讨论】:

    标签: activerecord heroku sinatra


    【解决方案1】:

    Padrino/Datamapper 和 Heroku Postgre Basic 计划也存在同样的问题,我从今天早上开始就无法部署。

    当我运行 'heroku config' 时,DATABASE_URL 配置变量似乎设置正确,我可以使用 ENV['DATABASE_URL'] 从 Padrino 控制台访问它,所以不确定是什么导致了问题。

    这个人 configuring heroku database connection in padrino - DATABASE_URL fails 已经能够直接使用 HEROKU_POSTGRESQL_color_URL 并修复它,但不适用于我的应用程序。

    看起来 Heroku 部署脚本有问题,最好的办法是向他们提出问题https://help.heroku.com/tickets/new?query=postgre

    (抱歉,这更像是一个评论而不是一个实际的答案,显然我没有足够的代表来评论)


    编辑:Heroku 回复我的票说问题已解决,我可以再次成功部署我的应用程序。

    【讨论】:

    • 谢谢!这确实似乎是 Heroku 自己的一个错误,他们现在已经修复了它。已经能够推送成功了。
    • 嘿伙计们,它似乎又出现了,今天 2013 年 11 月 9 日,我正在尝试在 heroku 上部署一个简单的应用程序,但当我在浏览器中访问 URL 时,它会抛出“500 Internal服务器错误”和“无效的 DATABASE_URL”,任何想法谢谢。
    猜你喜欢
    • 2014-01-30
    • 2012-01-29
    • 2013-11-21
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    相关资源
    最近更新 更多