1

SOLVED: some how this problem mysteriously disappeared, this is the heroku-generated url

http://pacific-escarpment-9949.herokuapp.com/

I would appreciate very much if anyone would elaborate why it gave an error page 30 mins ago but not anymore.

It works fine locally. But when I pushed it to Heroku, it gives this error.

I'd reckon it has to do with the database, because I used the command:

rails generate migration add_user_id_to_post integer (pseudocode, it worked fine)

I have already run:$ heroku run rake db:migrate

And the page that's supposed to be homepage shows: We're sorry, but something went wrong.

I had this problem before but when I ran heroku run rake db:migrate, it solved the problem. But not this time. Please kindly help. I have been stuck for 3 hours now. Thank you.

Here is my the repo on git hub: https://github.com/nixor/blog

Please excuse my noobness, all these are very 2 weeks new to me.

nixor@unix:$ heroku run rake db:migrate
    Running `rake db:migrate` 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/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> 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/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /app/Rakefile:7)
    Connecting to database specified by DATABASE_URL
    Migrating to CreatePosts (20121124111726)
    ==  CreatePosts: migrating ====================================================
    -- create_table(:posts)
    NOTICE:  CREATE TABLE will create implicit sequence "posts_id_seq" for serial column "posts.id"
    NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "posts_pkey" for table "posts"
       -> 0.0215s
    ==  CreatePosts: migrated (0.0216s) ===========================================
    
    Migrating to CreateUsers (20121126134513)
    ==  CreateUsers: migrating ====================================================
    -- create_table(:users)
    NOTICE:  CREATE TABLE will create implicit sequence "users_id_seq" for serial column "users.id"
    NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "users_pkey" for table "users"
       -> 0.0121s
    ==  CreateUsers: migrated (0.0122s) ===========================================
    
    Migrating to AddUserIdToPosts (20121126173652)
    ==  AddUserIdToPosts: migrating ===============================================
    -- add_column(:posts, :user_id, :integer)
    rake aborted!
    An error has occurred, this and all later migrations canceled:
    
    PGError: ERROR:  column "user_id" of relation "posts" already exists
    : ALTER TABLE "posts" ADD COLUMN "user_id" integer
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:652:in `async_exec'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:652:in `block in execute'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log'
    /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `execute'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/postgresql_adapter.rb:1025:in `add_column'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:466:in `block in method_missing'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:438:in `block in say_with_time'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:438:in `say_with_time'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:458:in `method_missing'
    /app/db/migrate/20121126173652_add_user_id_to_posts.rb:3:in `change'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:407:in `block (2 levels) in migrate'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:407:in `block in migrate'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:129:in `with_connection'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:389:in `migrate'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:528:in `migrate'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:720:in `block (2 levels) in migrate'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:775:in `call'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:775:in `block in ddl_transaction'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in `transaction'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/transactions.rb:208:in `transaction'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:775:in `ddl_transaction'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:719:in `block in migrate'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:700:in `each'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:700:in `migrate'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:570:in `up'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/migration.rb:551:in `migrate'
    /app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.9/lib/active_record/railties/databases.rake:179:in `block (2 levels) in <top (required)>'
    Tasks: TOP => db:migrate
    (See full trace by running task with --trace)
Community
  • 1
  • 1

1 Answers1

0

Adding user_id to posts doesn't make sense, because user_id was already defined in the first migration. Postgres is correctly raising an error.

It should be safe to delete the migration, since it doesn't make any changes.

Brad Koch
  • 19,267
  • 19
  • 110
  • 137
  • But it's because I manually wrote the user_id there. Does that make any difference? Do you mean just git rm it? – Tanapuch Touchdown Nov 27 '12 at 00:19
  • Yes. Each migration file is a set of instructions on how to change the database. You shouldn't go back and edit an old migration because of a new change. – Brad Koch Nov 27 '12 at 00:23
  • Thank you. I'd like to upvote but can't until I have 15 points then. I might come back to do so later. – Tanapuch Touchdown Nov 27 '12 at 00:27
  • You can accept the answer if I've helped you solve your problem =) – Brad Koch Nov 27 '12 at 00:28
  • Did so did so. Also could you check the post again, I've edited....it's kinda funny now. – Tanapuch Touchdown Nov 27 '12 at 00:30
  • If you still have mysterious errors, you can use `heroku logs` to see what's going wrong. Otherwise, it was either 1) related, and will go away when you fix this migrations issue or 2) unrelated, in which case you'll see it again soon. – Brad Koch Nov 27 '12 at 00:50