Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to add a primary key to a table in rails

Hi I have a table in my rails app that doesnt have any id column or primary key. thats because this table was brought into my rails app from a previous app and the table is prepopulated with data. I now realize that without a integer primary key, rails cannot display edit and show views in the browser. So i ned to add a id column to my database that is a primary key and that autoincrements.

Based on my googling, I came across a few posts about creating primary keys for a table but nothing that was complete.

So Im wondering if someone can give me a hand here. So far what I know is in order to change the table one must write a migration and then run it. The command that needs to be run for adding a id column is as follows:

rails generate migration add_id_to_businesses id:primary_key

However after running this command no new column is added to my database. Im not sure how to proceed.. How do I add a new column to my database?

Would really appreciate a hand..... Thanks,

like image 909
banditKing Avatar asked Mar 10 '12 06:03

banditKing


1 Answers

rails g migration add_id_to_products id:primary_key

      invoke  active_record
      create    db/migrate/20120310085527_add_id_to_products.rb

Migration file should look like -

   # db/migrate/20120310085527_add_id_to_products.rb
   class AddIdToProducts < ActiveRecord::Migration
     def change
        add_column :products, :id, :primary_key
     end
   end
like image 150
Sandip Ransing Avatar answered Nov 08 '22 18:11

Sandip Ransing