简体   繁体   English

很抱歉,heroku rails出了点问题

[英]We're sorry, but something went wrong heroku rails

I am having problems deploying a rails 3.2 app with heroku, I am getting the above error when I load the app. 我在用heroku部署Rails 3.2应用程序时遇到问题,加载应用程序时出现上述错误。 Here are my logs: 这是我的日志:

→ heroku logs →heroku日志

2013-07-14T01:15:03+00:00 heroku[slug-compiler]: Slug compilation finished
2013-07-14T01:15:11.541229+00:00 heroku[web.1]: Starting process with command `bundle exec     rails server -p 46418`
2013-07-14T01:15:14.054907+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-07-14T01:15:14.054907+00:00 app[web.1]: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/config/environment.rb:5)
2013-07-14T01:15:14.492621+00:00 app[web.1]: => Call with -d to detach
2013-07-14T01:15:14.492621+00:00 app[web.1]: Connecting to database specified by DATABASE_URL
2013-07-14T01:15:14.492621+00:00 app[web.1]: => Rails 3.2.13 application starting in production on http://0.0.0.0:46418
2013-07-14T01:15:14.492621+00:00 app[web.1]: => Ctrl-C to shutdown server
2013-07-14T01:15:14.492621+00:00 app[web.1]: => Booting WEBrick
2013-07-14T01:15:15.901411+00:00 app[web.1]: [2013-07-14 01:15:15] INFO  ruby 2.0.0 (2013-06-27) [x86_64-linux]
2013-07-14T01:15:15.901411+00:00 app[web.1]: [2013-07-14 01:15:15] INFO  WEBrick 1.3.1
2013-07-14T01:15:15.901769+00:00 app[web.1]: [2013-07-14 01:15:15] INFO  WEBrick::HTTPServer#start: pid=2 port=46418
2013-07-14T01:15:16.447320+00:00 heroku[web.1]: State changed from starting to up
2013-07-14T01:15:17.584921+00:00 app[web.1]: Started GET "/" for 71.202.122.134 at 2013-07-14 01:15:17 +0000
2013-07-14T01:15:17.646525+00:00 app[web.1]: Processing by HomeController#index as HTML
2013-07-14T01:15:17.722541+00:00 app[web.1]: Completed 500 Internal Server Error in 76ms
2013-07-14T01:15:17.724418+00:00 app[web.1]:                                         ^
2013-07-14T01:15:17.724418+00:00 app[web.1]: :             SELECT a.attname, format_type(a.atttypid, a.atttypmod),
2013-07-14T01:15:17.724418+00:00 app[web.1]: 
2013-07-14T01:15:17.724418+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::Error: ERROR:  relation "houses" does not exist
2013-07-14T01:15:17.724588+00:00 app[web.1]: ):
2013-07-14T01:15:17.724588+00:00 app[web.1]: 
2013-07-14T01:15:17.726539+00:00 heroku[router]: at=info method=GET path=/ host=frozen-spire-1369.herokuapp.com fwd="71.202.122.134" dyno=web.1 connect=1ms service=149ms status=500 bytes=643
2013-07-14T01:15:17.724588+00:00 app[web.1]:   app/controllers/home_controller.rb:3:in `index'
2013-07-14T01:15:17.724418+00:00 app[web.1]: LINE 5:              WHERE a.attrelid = '"houses"'::regclass
2013-07-14T01:15:17.724418+00:00 app[web.1]:                AND a.attnum > 0 AND NOT a.attisdropped
2013-07-14T01:15:17.724418+00:00 app[web.1]:               FROM pg_attribute a LEFT JOIN pg_attrdef d
2013-07-14T01:15:17.724418+00:00 app[web.1]:                      pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
2013-07-14T01:15:17.724588+00:00 app[web.1]:              ORDER BY a.attnum
2013-07-14T01:15:17.724418+00:00 app[web.1]:                 ON a.attrelid = d.adrelid AND a.attnum = d.adnum
2013-07-14T01:15:17.724418+00:00 app[web.1]:              WHERE a.attrelid = '"houses"'::regclass
2013-07-14T01:15:17.724588+00:00 app[web.1]: 
2013-07-14T01:15:18.221829+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=frozen-spire-1369.herokuapp.com fwd="71.202.122.134" dyno=web.1 connect=9ms service=17ms status=200 bytes=0
2013-07-14T01:20:10.025198+00:00 app[web.1]: Started GET "/" for 71.202.122.134 at 2013-07-14 01:20:10 +0000
2013-07-14T01:20:10.048127+00:00 heroku[router]: at=info method=GET path=/ host=frozen-spire-1369.herokuapp.com fwd="71.202.122.134" dyno=web.1 connect=2ms service=24ms status=500 bytes=643
2013-07-14T01:20:10.035374+00:00 app[web.1]: Processing by HomeController#index as HTML
2013-07-14T01:20:10.038857+00:00 app[web.1]: Completed 500 Internal Server Error in 3ms
2013-07-14T01:20:10.040758+00:00 app[web.1]: 
2013-07-14T01:20:10.040758+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::Error: ERROR:  relation "houses" does not exist
2013-07-14T01:20:10.040758+00:00 app[web.1]: LINE 5:              WHERE a.attrelid = '"houses"'::regclass
2013-07-14T01:20:10.040758+00:00 app[web.1]:                                         ^
2013-07-14T01:20:10.040758+00:00 app[web.1]:                      pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
2013-07-14T01:20:10.040758+00:00 app[web.1]:               FROM pg_attribute a LEFT JOIN pg_attrdef d
2013-07-14T01:20:10.040758+00:00 app[web.1]:                 ON a.attrelid = d.adrelid AND a.attnum = d.adnum
2013-07-14T01:20:10.040758+00:00 app[web.1]:              WHERE a.attrelid = '"houses"'::regclass
2013-07-14T01:20:10.040758+00:00 app[web.1]:                AND a.attnum > 0 AND NOT a.attisdropped
2013-07-14T01:20:10.040927+00:00 app[web.1]:              ORDER BY a.attnum
2013-07-14T01:20:10.040927+00:00 app[web.1]: ):
2013-07-14T01:20:10.040927+00:00 app[web.1]: 
2013-07-14T01:20:10.040927+00:00 app[web.1]: 
2013-07-14T01:20:10.040927+00:00 app[web.1]:   app/controllers/home_controller.rb:3:in `index'
2013-07-14T01:20:10.040758+00:00 app[web.1]: :             SELECT a.attname, format_type(a.atttypid, a.atttypmod),
2013-07-14T01:20:10.388132+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=frozen-spire-1369.herokuapp.com fwd="71.202.122.134" dyno=web.1 connect=3ms service=12ms status=304 bytes=0

I am fairly new to rails/heroku, so any help is much appreciated. 我是Rails / heroku的新手,因此非常感谢您的帮助。 I am trying to deploy after alot of development. 经过大量开发后,我正在尝试进行部署。 For the future, is it better to push to heroku early in the development process and then keep pushing as you go? 对于未来,在开发过程中尽早推出heroku,然后继续进行下去是否更好? Thanks! 谢谢!

  1. ActiveRecord::StatementInvalid (PG::Error: ERROR: relation "houses" does not exist . ActiveRecord :: StatementInvalid(PG :: Error:ERROR:关系“房屋”不存在

    I would say the houses table in database is missing, you can run migrations using heroku toolbelt: heroku run rake db:create --app my_app2 - to create the database, heroku run rake db:migrate --app my_app2 - to run migrations. 我想说数据库中的houses表丢失了,您可以使用heroku工具栏运行迁移: heroku run rake db:create --app my_app2创建数据库, heroku run rake db:migrate --app my_app2运行迁移。 Setting up a deploy with Capistrano will run all the things for you with one command. 使用Capistrano设置部署将通过一个命令为您运行所有操作。

    Heroku Toolbelt - https://toolbelt.heroku.com/ Heroku的列工具- https://toolbelt.heroku.com/

    Capistrano - https://github.com/capistrano/capistrano Capistrano- https://github.com/capistrano/capistrano

  2. For the future, is it better to push to heroku early in the development process and then keep pushing as you go? 对于未来,在开发过程中尽早推出heroku,然后继续进行下去是否更好?

    At the project I am currently working with our team, we have 2 instances of heroku , means 2 apps, one is for production , the second for testing , changes are pushed to testing app first and if all goes well we move it to production. 在我目前与我们团队一起工作的项目中,我们有2个heroku实例,意味着2个应用程序,一个用于生产 ,第二个用于测试 ,更改首先推送到测试应用程序,如果一切顺利,我们将其移至生产环境。

Edit 编辑

As I found out your are using sqlite for development: 我发现您正在使用sqlite进行开发:

Heroku uses postgresql. Heroku使用postgresql。 https://devcenter.heroku.com/articles/sqlite3 https://devcenter.heroku.com/articles/sqlite3

Remove sqlite3 or move it into a development group in your Gemfile like this: 删除sqlite3或将其移动到Gemfile中的development group中,如下所示:

group :development do
  gem 'sqlite3'
end

group :production do
  gem 'thin'
  gem 'pg'
end

remove Gemfile.lock run bundle install --without production 删除Gemfile.lock运行bundle install --without production

git add .
git commit -am "bundle updating sqlite3"
git push heroku master

or easier, just use PG on your local computer for development. 或更简单,只需在本地计算机上使用PG进行开发即可。 You might have some sql statements that will work in sqlite and will not work in postgres on heroku, so in your place I would use PG on development. 您可能有一些sql语句将在sqlite中工作,而在heroku的postgres中将不工作,因此在您的位置,我将在开发中使用PG。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM