If I remove id column, what is the primary key? 2009/7/3 Marnen Laibow-Koser <[email protected]>
> > Xiahong Gao wrote: > > Hi everyone, > > > > I ran into a serious problem when I was trying to do something similar > > to twitter follow mechanism. The thing is like this: > > > > First, I have a self-referential table, named "users" > > create_table :users do |t| > > t.column :name, :string > > t.column :user_name, :string > > t.column :password, :string > > t.column :email, :string > > end > > > > I also have a HABTM join table, named "follow_relations" > > create_table :follow_realtions do |t| > > t.column :a_id, :integer # a_id follows b_id > > t.column :b_id, :integer > > end > > > > My HABTM join is defined as follows > > has_and_belongs_to_many :followers, > > :class_name => > > "User", > > :join_table => > > "follow_relations", > > :foreign_key => > > "b_id", > > :association_foreign_key > > => "a_id" > > > > has_and_belongs_to_many :followings, > > :class_name => "User", > > :join_table => > > "follow_relations", > > :foreign_key => > > "a_id", > > :association_foreign_key > > => "b_id" > [...] > > The first << operation executes the following SQL : > > INSERT INTO `follow_relations (`id`, `b_id`, `a_id`) VALUES (3, 1, 3) > > The second << operation executes the following SQL: > > INSERT INTO `follow_relations (`id`, `b_id`, `a_id`) VALUES (3, 2, 3) > > Thus, key id is duplicated. It looks like that every time, the value > > of column id is copied from column a_id. > > What's going on here? How to fix this problem? > > If you're using HABTM, the join table (follow_relations) should not have > an id column. Remove it and see if that does the trick. > > > > > Thanks in advance, > > xiahong > > Best, > -- > Marnen Laibow-Koser > http://www.marnen.org > [email protected] > -- > Posted via http://www.ruby-forum.com/. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

