modifing db

  Does the id need to be the "primary key"?

You can set your own primary key like

def self.up
create_table :table_name, :primary_key => :primary_key_field_name, do

t>

      t.integer :primary_key_field_name