2

我是 Ruby on Rails 的新手(完全是编程新手),这是我关于堆栈溢出的第一篇文章。我要提前感谢大家,因为我从以前的帖子中学到了很多东西。

我完成了 Micheal Hartl Ruby on Rails 教程,但无法让它在 Heroku 上成功启动,即使它在本地运行完美。

我做了以下事情:

git 推送

git push heroku 大师

heroku pg:重置数据库

heroku 运行 rake db:migrate

heroku 运行 rake db:填充

(我也这样做了,没有 heroku 重新启动,结果相同)

当我执行命令时出现问题:heroku run rake db:populate

这是我的heroku日志

2013-04-23T18:27:42.388610+00:00 heroku[web.1]: Error R12 (Exit timeout) -> At least one process failed to exit within 10 seconds of SIGTERM
2013-04-23T18:27:42.388610+00:00 heroku[web.1]: Stopping remaining processes with SIGKILL
2013-04-23T18:27:44.355310+00:00 heroku[web.1]: Process exited with status 137
2013-04-23T18:27:50.065370+00:00 app[web.1]: Processing by SessionsController#new as HTML
2013-04-23T18:27:50.062379+00:00 app[web.1]: Started GET "/signin" for 75.68.91.34 at 2013-04-23 18:27:50 +0000
2013-04-23T18:27:50.091947+00:00 app[web.1]:   Rendered sessions/new.html.erb within layouts/application (24.8ms)
2013-04-23T18:27:50.093017+00:00 app[web.1]:   Rendered layouts/_shim.html.erb (0.0ms)
2013-04-23T18:27:50.095496+00:00 app[web.1]:   Rendered layouts/_header.html.erb (2.2ms)
2013-04-23T18:27:50.096137+00:00 app[web.1]: Completed 200 OK in 31ms (Views: 29.2ms | ActiveRecord: 1.0ms)
2013-04-23T18:27:50.095966+00:00 app[web.1]:   Rendered layouts/_footer.html.erb (0.3ms)
2013-04-23T18:27:50.102068+00:00 heroku[router]: at=info method=GET path=/signin host=polar-wildwood-1990.herokuapp.com fwd="75.68.91.34" dyno=web.1 connect=2ms service=48ms status=200 bytes=2144
2013-04-23T18:27:52.271911+00:00 app[web.1]: Started GET "/help" for 75.68.91.34 at 2013-04-23 18:27:52 +0000
2013-04-23T18:27:52.275101+00:00 app[web.1]: Processing by StaticPagesController#help as HTML
2013-04-23T18:27:52.276587+00:00 app[web.1]:   Rendered static_pages/help.html.erb within layouts/application (0.3ms)
2013-04-23T18:27:52.277601+00:00 app[web.1]:   Rendered layouts/_shim.html.erb (0.0ms)
2013-04-23T18:27:52.281995+00:00 app[web.1]:   Rendered layouts/_header.html.erb (4.1ms)
2013-04-23T18:27:52.283227+00:00 app[web.1]:   Rendered layouts/_footer.html.erb (0.8ms)
2013-04-23T18:27:52.284385+00:00 app[web.1]: Completed 200 OK in 9ms (Views: 7.2ms | ActiveRecord: 1.4ms)
2013-04-23T18:27:52.291644+00:00 heroku[router]: at=info method=GET path=/help host=polar-wildwood-1990.herokuapp.com fwd="75.68.91.34" dyno=web.1 connect=2ms service=21ms status=200 bytes=1639
2013-04-23T18:27:53.244364+00:00 heroku[router]: at=info method=GET path=/ host=polar-wildwood-1990.herokuapp.com fwd="75.68.91.34" dyno=web.1 connect=2ms service=18ms status=304 bytes=0
2013-04-23T18:27:53.227078+00:00 app[web.1]: Started GET "/" for 75.68.91.34 at 2013-04-23 18:27:53 +0000
2013-04-23T18:27:53.230685+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
2013-04-23T18:27:53.233227+00:00 app[web.1]:   Rendered static_pages/home.html.erb within layouts/application (0.6ms)
2013-04-23T18:27:53.234925+00:00 app[web.1]:   Rendered layouts/_header.html.erb (0.8ms)
2013-04-23T18:27:53.234029+00:00 app[web.1]:   Rendered layouts/_shim.html.erb (0.0ms)
2013-04-23T18:27:53.235301+00:00 app[web.1]:   Rendered layouts/_footer.html.erb (0.3ms)
2013-04-23T18:27:53.235416+00:00 app[web.1]: Completed 200 OK in 5ms (Views: 3.2ms | ActiveRecord: 1.0ms)
2013-04-23T18:27:54.503953+00:00 app[web.1]: Started GET "/signin" for 75.68.91.34 at 2013-04-23 18:27:54 +0000
2013-04-23T18:27:54.506797+00:00 app[web.1]: Processing by SessionsController#new as HTML
2013-04-23T18:27:54.509530+00:00 app[web.1]:   Rendered layouts/_shim.html.erb (0.0ms)
2013-04-23T18:27:54.508584+00:00 app[web.1]:   Rendered sessions/new.html.erb within layouts/application (1.3ms)
2013-04-23T18:27:54.511848+00:00 app[web.1]:   Rendered layouts/_header.html.erb (2.1ms)
2013-04-23T18:27:54.512476+00:00 app[web.1]:   Rendered layouts/_footer.html.erb (0.3ms)
2013-04-23T18:27:54.512701+00:00 app[web.1]: Completed 200 OK in 6ms (Views: 4.7ms | ActiveRecord: 1.0ms)
2013-04-23T18:27:54.522049+00:00 heroku[router]: at=info method=GET path=/signin host=polar-wildwood-1990.herokuapp.com fwd="75.68.91.34" dyno=web.1 connect=2ms service=16ms status=304 bytes=0
2013-04-23T18:28:02.210398+00:00 app[web.1]: Started GET "/" for 75.68.91.34 at 2013-04-23 18:28:02 +0000
2013-04-23T18:28:02.212290+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
2013-04-23T18:28:02.214616+00:00 app[web.1]:   Rendered static_pages/home.html.erb within layouts/application (0.6ms)
2013-04-23T18:28:02.215472+00:00 app[web.1]:   Rendered layouts/_shim.html.erb (0.0ms)
2013-04-23T18:28:02.216369+00:00 app[web.1]:   Rendered layouts/_header.html.erb (0.8ms)
2013-04-23T18:28:02.216867+00:00 app[web.1]: Completed 200 OK in 5ms (Views: 3.2ms | ActiveRecord: 0.9ms)
2013-04-23T18:28:02.216742+00:00 app[web.1]:   Rendered layouts/_footer.html.erb (0.3ms)
2013-04-23T18:28:02.224795+00:00 heroku[router]: at=info method=GET path=/ host=polar-wildwood-1990.herokuapp.com fwd="75.68.91.34" dyno=web.1 connect=2ms service=15ms status=304 bytes=0
2013-04-23T18:28:03.312964+00:00 app[web.1]: Started GET "/signup" for 75.68.91.34 at 2013-04-23 18:28:03 +0000
2013-04-23T18:28:03.320889+00:00 app[web.1]: Processing by UsersController#new as HTML
2013-04-23T18:28:03.330931+00:00 app[web.1]:   Rendered shared/_error_messages.html.erb (0.3ms)
2013-04-23T18:28:03.332690+00:00 app[web.1]:   Rendered users/new.html.erb within layouts/application (4.5ms)
2013-04-23T18:28:03.333486+00:00 app[web.1]:   Rendered layouts/_shim.html.erb (0.0ms)
2013-04-23T18:28:03.335702+00:00 app[web.1]:   Rendered layouts/_header.html.erb (2.1ms)
2013-04-23T18:28:03.336140+00:00 app[web.1]:   Rendered layouts/_footer.html.erb (0.3ms)
2013-04-23T18:28:03.336258+00:00 app[web.1]: Completed 200 OK in 15ms (Views: 8.2ms | ActiveRecord: 1.0ms)
2013-04-23T18:28:03.343166+00:00 heroku[router]: at=info method=GET path=/signup host=polar-wildwood-1990.herokuapp.com fwd="75.68.91.34" dyno=web.1 connect=2ms service=31ms status=200 bytes=2403
2013-04-23T18:28:23.175897+00:00 app[web.1]: Processing by UsersController#create as HTML
2013-04-23T18:28:23.172784+00:00 app[web.1]: Started POST "/users" for 75.68.91.34 at 2013-04-23 18:28:23 +0000
2013-04-23T18:28:23.175897+00:00 app[web.1]:   Parameters: {"utf8"=>"✓", "authenticity_token"=>"rdA4wrQvQhEhejI6uTXYg2YZpa5sl7gkYeabVJZQmFA=", "user"=>{"name"=>"Dana Bouchard", "email"=>"dbouchard138@gmail.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Create my account"}
2013-04-23T18:28:23.429861+00:00 app[web.1]: Redirected to https://polar-wildwood-1990.herokuapp.com/users/1
2013-04-23T18:28:23.433167+00:00 app[web.1]: Completed 302 Found in 256ms (ActiveRecord: 21.6ms)
2013-04-23T18:28:23.449918+00:00 heroku[router]: at=info method=POST path=/users host=polar-wildwood-1990.herokuapp.com fwd="75.68.91.34" dyno=web.1 connect=3ms service=315ms status=302 bytes=115
2013-04-23T18:28:23.497155+00:00 app[web.1]:   Parameters: {"id"=>"1"}
2013-04-23T18:28:23.490244+00:00 app[web.1]: Started GET "/users/1" for 75.68.91.34 at 2013-04-23 18:28:23 +0000
2013-04-23T18:28:23.496980+00:00 app[web.1]: Processing by UsersController#show as HTML
2013-04-23T18:28:23.722402+00:00 app[web.1]:   Rendered shared/_stats.html.erb (54.1ms)
2013-04-23T18:28:23.787319+00:00 app[web.1]:   Rendered users/show.html.erb within layouts/application (120.1ms)
2013-04-23T18:28:23.787319+00:00 app[web.1]: Completed 500 Internal Server Error in 290ms
2013-04-23T18:28:23.789034+00:00 app[web.1]: ActionView::Template::Error (PGError: ERROR:  relation "microposts" does not exist
2013-04-23T18:28:23.789034+00:00 app[web.1]:
2013-04-23T18:28:23.789034+00:00 app[web.1]: LINE 5:              WHERE a.attrelid = '"microposts"'::regclass
2013-04-23T18:28:23.789034+00:00 app[web.1]:                                         ^
2013-04-23T18:28:23.789034+00:00 app[web.1]: :             SELECT a.attname, format_type(a.atttypid, a.atttypmod),
2013-04-23T18:28:23.789034+00:00 app[web.1]:                      pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
2013-04-23T18:28:23.789034+00:00 app[web.1]:               FROM pg_attribute a LEFT JOIN pg_attrdef d
2013-04-23T18:28:23.789034+00:00 app[web.1]:                 ON a.attrelid = d.adrelid AND a.attnum = d.adnum
2013-04-23T18:28:23.789034+00:00 app[web.1]:
 WHERE a.attrelid = '"microposts"'::regclass
2013-04-23T18:28:23.789293+00:00 app[web.1]: ):
2013-04-23T18:28:23.789293+00:00 app[web.1]:              ORDER BY a.attnum
2013-04-23T18:28:23.789293+00:00 app[web.1]:     15:     <%= render 'follow_form' if signed_in? %>
2013-04-23T18:28:23.789034+00:00 app[web.1]:                AND a.attnum > 0 AND NOT a.attisdropped
2013-04-23T18:28:23.789293+00:00 app[web.1]:     13:   </aside>
2013-04-23T18:28:23.789293+00:00 app[web.1]:     14:   <div class="span8">
2013-04-23T18:28:23.800620+00:00 heroku[router]: at=info method=GET path=/users/1 host=polar-wildwood-1990.herokuapp.com fwd="75.68.91.34" dyno=web.1 connect=2ms service=313ms status=500 bytes=643
2013-04-23T18:28:23.789293+00:00 app[web.1]:     16:     <% if @user.microposts.any? %>
2013-04-23T18:28:23.789293+00:00 app[web.1]:     17:       <h3>Microposts (<%= @user.microposts.count %>)</h3>
2013-04-23T18:28:23.789293+00:00 app[web.1]:     18:       <ol class="microposts">
2013-04-23T18:28:23.789293+00:00 app[web.1]:     19:         <%= render @microposts %>
2013-04-23T18:28:23.789293+00:00 app[web.1]:   app/views/users/show.html.erb:16:in `_app_views_users_show_html_erb__4534392174835113617_69860797342160'
2013-04-23T18:28:23.789517+00:00 app[web.1]:
2013-04-23T18:28:23.789517+00:00 app[web.1]:
2013-04-23T18:28:38.118917+00:00 heroku[api]: Starting process with command `bundle exec rake db:populate` by dbouchard138@gmail.com
2013-04-23T18:28:40.122057+00:00 heroku[run.9072]: Awaiting client
2013-04-23T18:28:40.141935+00:00 heroku[run.9072]: Starting process with command `bundle exec rake db:populate`
2013-04-23T18:28:41.013463+00:00 heroku[run.9072]: State changed from starting to up
2013-04-23T18:29:06.377140+00:00 heroku[run.9072]: Process exited with status 1
2013-04-23T18:29:06.395386+00:00 heroku[run.9072]: State changed from up to complete
2013-04-23T19:31:08.418618+00:00 heroku[web.1]: Idling
2013-04-23T19:31:11.275801+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2013-04-23T19:31:12.010696+00:00 app[web.1]:    /usr/local/lib/ruby/1.9.1/webrick/server.rb:90:in `select'
2013-04-23T19:31:12.010696+00:00 app[web.1]: [2013-04-23 19:31:12] ERROR SignalException: SIGTERM
2013-04-23T19:31:22.107373+00:00 heroku[web.1]: Error R12 (Exit timeout) -> At least one process failed to exit within 10 seconds of SIGTERM
2013-04-23T19:31:22.107928+00:00 heroku[web.1]: Stopping remaining processes with SIGKILL
2013-04-23T19:31:23.892161+00:00 heroku[web.1]: State changed from up to down
2013-04-23T19:31:23.878809+00:00 heroku[web.1]: Process exited with status 137

这可能很容易解决,我认为以下是罪魁祸首,但我无法弄清楚为什么或如何找到问题。

2013-04-23T18:28:23.789034+00:00 app[web.1]: ActionView::Template::Error (PGError: ERROR:  relation "microposts" does not exist
2013-04-23T18:28:23.789034+00:00 app[web.1]:
2013-04-23T18:28:23.789034+00:00 app[web.1]: LINE 5:              WHERE a.attrelid = '"microposts"'::regclass
2013-04-23T18:28:23.789034+00:00 app[web.1]:                                         ^
2013-04-23T18:28:23.789034+00:00 app[web.1]: :             SELECT a.attname, format_type(a.atttypid, a.atttypmod),
2013-04-23T18:28:23.789034+00:00 app[web.1]:                      pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
2013-04-23T18:28:23.789034+00:00 app[web.1]:               FROM pg_attribute a LEFT JOIN pg_attrdef d
2013-04-23T18:28:23.789034+00:00 app[web.1]:                 ON a.attrelid = d.adrelid AND a.attnum = d.adnum
2013-04-23T18:28:23.789034+00:00 app[web.1]:
 WHERE a.attrelid = '"microposts"'::regclass
2013-04-23T18:28:23.789293+00:00 app[web.1]: ):
2013-04-23T18:28:23.789293+00:00 app[web.1]:              ORDER BY a.attnum
2013-04-23T18:28:23.789293+00:00 app[web.1]:     15:     <%= render 'follow_form' if signed_in? %>
2013-04-23T18:28:23.789034+00:00 app[web.1]:                AND a.attnum > 0 AND NOT a.attisdropped
2013-04-23T18:28:23.789293+00:00 app[web.1]:     13:   </aside>
2013-04-23T18:28:23.789293+00:00 app[web.1]:     14:   <div class="span8">
2013-04-23T18:28:23.800620+00:00 heroku[router]: at=info method=GET path=/users/1 host=polar-wildwood-1990.herokuapp.com fwd="75.68.91.34" dyno=web.1 connect=2ms service=313ms status=500 bytes=643
2013-04-23T18:28:23.789293+00:00 app[web.1]:     16:     <% if @user.microposts.any? %>
2013-04-23T18:28:23.789293+00:00 app[web.1]:     17:       <h3>Microposts (<%= @user.microposts.count %>)</h3>
2013-04-23T18:28:23.789293+00:00 app[web.1]:     18:       <ol class="microposts">
2013-04-23T18:28:23.789293+00:00 app[web.1]:     19:         <%= render @microposts %>
2013-04-23T18:28:23.789293+00:00 app[web.1]:   app/views/users/show.html.erb:16:in `_app_views_users_show_html_erb__4534392174835113617_69860797342160'

请帮助,如果您需要更多信息,请告诉我。先感谢您。

4

1 回答 1

5

在我看来,您没有将架构加载到您的 heroku 数据库中。部署后执行此操作会发生什么:

heroku run rake db:schema:load

请注意,有时如果您正在加载具有已建立架构的新应用程序,则运行所有迁移并不是使数据库达到您想要的状态的最佳方法 - 您应该rake db:schema:load改用。让我知道这是否使您的数据库正确。

运行它后,您可以使用heroku run console然后执行控制台命令,例如User.all确保它知道users表存在等。

不要忘记在加载架构或运行db:migrate. 对于heroku,那就是:heroku restart

于 2013-04-23T20:20:29.240 回答