I'm throwing sql errors on a User.find_or_create_by_foo_and_email
call.

I created an index with the following:
add_index "users", ["foo_id", "email"], :name =>
"by_foo_email", :unique => true

Then in a class foo instance method:

user = User.find_or_create_by_foo_id_and_email
(self.id,some_email_address)

and I get this error:
ActiveRecord::StatementInvalid (Mysql::Error: Duplicate entry
'j...@yahoo.com' for key 2: : INSERT INTO `users` (`name`,
`unsubscribed`, `updated_at`, `unsubscribed_date`, `user_id`,
`bounce_date`, `foo_id`, `email`, `created_at`, `bounced`) VALUES
(NULL, 0, '2009-03-31 16:04:51', NULL, NULL, NULL, 11,
'j...@yahoo.com', '2009-03-31 16:04:51', 0)

Isn't find_or_create_by() supposed to only create if it can't find?

caveat - I'm running this with workling/starling.




--~--~---------~--~----~------------~-------~--~----~
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 rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to