title: Heroku "We're sorry, but something went wrong"
body: <p>Firstly, I'm quite a newbie in rails/heroku, so forgive the newbiness in advance!</p>
  
  <p>I did the Rails tutorial (http://guides.rubyonrails.org/getting_started.html) and generated a blog-like "post" app, pushed it into github, and then pushed into heroku.</p>
  
  <p>My app works fine locally, but when I try to run it online, it has the "We're sorry, but something went wrong" in red font error.</p>
  
  <p>Here is the heroku logs:</p>
  
  <pre><code>2012-06-17T18:20:21+00:00 app[web.1]: Started GET "/posts/new" for 24.246.75.91 at 2012-06-17 18:20:21 +0000
  2012-06-17T18:20:21+00:00 app[web.1]: Processing by PostsController#new as HTML
  2012-06-17T18:20:21+00:00 app[web.1]:   Rendered posts/_form.html.erb (19.4ms)
  2012-06-17T18:20:21+00:00 app[web.1]:   Rendered posts/new.html.erb within layouts/application (32.8ms)
  2012-06-17T18:20:21+00:00 app[web.1]: Completed 500 Internal Server Error in 39ms
  2012-06-17T18:20:21+00:00 app[web.1]: 
  2012-06-17T18:20:21+00:00 app[web.1]:     13: 
  2012-06-17T18:20:21+00:00 app[web.1]: ActionView::Template::Error (undefined method `name' for #&lt;Post:0x000000043b8e00&gt;):
  2012-06-17T18:20:21+00:00 app[web.1]:     14:   &lt;div class="field"&gt;
  2012-06-17T18:20:21+00:00 app[web.1]:     15:     &lt;%= f.label :name %&gt;&lt;br /&gt;
  2012-06-17T18:20:21+00:00 app[web.1]:     18:   &lt;div class="field"&gt;
  2012-06-17T18:20:21+00:00 app[web.1]:     17:   &lt;/div&gt;
  2012-06-17T18:20:21+00:00 app[web.1]:     16:     &lt;%= f.text_field :name %&gt;
  2012-06-17T18:20:21+00:00 app[web.1]:     19:     &lt;%= f.label :title %&gt;&lt;br /&gt;
  2012-06-17T18:20:21+00:00 app[web.1]:   app/views/posts/_form.html.erb:16:in `block in _app_views_posts__form_html_erb___4393344465537738631_33651200'
  2012-06-17T18:20:21+00:00 app[web.1]:   app/views/posts/_form.html.erb:1:in `_app_views_posts__form_html_erb___4393344465537738631_33651200'
  2012-06-17T18:20:21+00:00 app[web.1]:   app/views/posts/new.html.erb:3:in `_app_views_posts_new_html_erb___263954971377171473_37473500'
  2012-06-17T18:20:21+00:00 app[web.1]:   app/controllers/posts_controller.rb:35:in `new'
  2012-06-17T18:20:21+00:00 app[web.1]: 
  </code></pre>
  
  <p>In a nutshell, f.name is an object representing an entry in the database (so is most of the information for f)</p>
  
  <p>The "undefined method `name'" error seems strange to me, as it works perfectly locally.</p>
  
  <p>My hypothesis is that the database is not linked properly between heroku and my app.
  However, I don't know how I can solve/check this problem.</p>
  
  <p>My app is using the 'shared database' by default right now.</p>
  
  <p>Any hints on what check? Something I missed?</p>
  
  <p>EDIT 1:
  migrating database. The table 'posts' seems to be already 'detected'. Here is a trace:</p>
  
  <pre><code>   Running rake db:migrate --trace attached to terminal... up, run.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/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  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/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  ** Invoke db:migrate (first_time)
  ** Invoke environment (first_time)
  ** Execute environment
  ** Invoke db:load_config (first_time)
  ** Invoke rails_env (first_time)
  ** Execute rails_env
  ** Execute db:load_config
  ** Execute db:migrate
  Migrating to CreatePosts (20120418005214)
  ==  CreatePosts: migrating ====================================================
  -- create_table(:posts)
  rake aborted!
  An error has occurred, this and all later migrations canceled:
  
  PG::Error: ERROR:  relation "posts" already exists
  : CREATE TABLE "posts" ("id" serial primary key, "name" character varying(255), "title" character varying(255), "content" text, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL) 
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:640:in `async_exec'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:640:in `block in execute'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log'
  /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/postgresql_adapter.rb:639:in `execute'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:170:in `create_table'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:450:in `block in method_missing'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:424:in `block in say_with_time'
  /app/vendor/ruby-1.9.3-p0/lib/ruby/1.9.1/benchmark.rb:280:in `measure'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:424:in `say_with_time'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:444:in `method_missing'
  /app/db/migrate/20120418005214_create_posts.rb:3:in `change'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:393:in `block (2 levels) in migrate'
  /app/vendor/ruby-1.9.3-p0/lib/ruby/1.9.1/benchmark.rb:280:in `measure'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:393:in `block in migrate'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:118:in `with_connection'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:377:in `migrate'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:512:in `migrate'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:704:in `block (2 levels) in migrate'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:759:in `call'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:759:in `block in ddl_transaction'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:190:in `transaction'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/transactions.rb:208:in `transaction'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:759:in `ddl_transaction'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:703:in `block in migrate'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:684:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:684:in `migrate'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:554:in `up'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/migration.rb:535:in `migrate'
  /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/railties/databases.rake:153:in `block (2 levels) in &lt;top (required)&gt;'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
  /app/vendor/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
  /app/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake:33:in `&lt;top (required)&gt;'
  /app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `load'
  /app/vendor/bundle/ruby/1.9.1/bin/rake:19:in `&lt;main&gt;'
  Tasks: TOP =&gt; db:migrate
  </code></pre>
  
  <p>EDIT 2: Tried dropping te database. Strange error:</p>
  
  <pre><code>19:06:34[~/ED3/ed3/]&gt;heroku run rake db:drop
  Running rake db:drop attached to terminal... up, run.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/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  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/01/04/rails-3-2-0-rc2-has-been-released. (called from &lt;top (required)&gt; at /app/Rakefile:7)
  Couldn't drop mtstktqkyx : #&lt;ActiveRecord::StatementInvalid: PG::Error: ERROR:  must be owner of database mtstktqkyx
  : DROP DATABASE IF EXISTS "mtstktqkyx"&gt;
  </code></pre>
  
  <p>EDIT 3: CreatePosts migration (from db/migrate/##..##_create_posts.rb)</p>
  
  <pre><code>class CreatePosts &lt; ActiveRecord::Migration
    def change
      create_table :posts do |t|
        t.string :name
        t.string :title
        t.text :content
  
        t.timestamps
      end
    end
  end
  </code></pre>