I recently tried to pull a database from our server and load it into my
local MySQL. I got the dreaded ''MySQL server has gone away''.
Digging a
little deeper, I found that it choked on the first User record. We
recently added several attributes of type ''binary'' to the User
object. I
suspected an issue around these. When I started poking around in my
local db, through the ruby console, I found the following very strange
behaviour (certain irrelevant fields x''d out to protect the innocent):
>> me = User.find(8)
=> #<User id: 8, account_id: 1, login: "xxxxx", email:
"xxxxxxxxxxxxxxx", name: "xxxxx xxxxxx", admin: false,
remember_token:
"b7f1baad18daf19a5d52e9935bf23430e0f91e38", crypted_password:
"02a5da32749bd5478fee2b094e4857728a2fbfc0", salt:
"-6151795480.1557195
22328172", remember_token_expires_at: "2010-09-28 18:33:39",
terms_of_use_accepted: "2010-06-19 15:12:27", reminder_emails: true,
sa
lon_id: 4, community_id: 1, updated_at: "2010-09-14 11:33:39",
created_at: "2010-04-01 21:29:22", public_name: "Yoram",
salon_name:
"Yoram", broadcast_message_read: "1969-12-31 16:00:00",
community_name:
"Yoram", newsletter: true, avatar_updated_at: "2010-09-06 14
:16:20", avatar_file_size: 51473, avatar_file_name: "me.jpg",
avatar_content_type: "image/jpeg">>> me.avatar_file
ActiveRecord::MissingAttributeError: missing attribute:
avatar_file>> foo = User.new
=> #<User id: nil, account_id: nil, login: nil, email: nil, name: nil,
admin: false, remember_token: nil, crypted_password: nil, sal
t: nil, remember_token_expires_at: nil, terms_of_use_accepted: nil,
reminder_emails: nil, salon_id: nil, community_id: nil, updated_
at: nil, created_at: nil, public_name: nil, salon_name: nil,
broadcast_message_read: "1969-12-31 16:00:00", community_name: nil,
new
sletter: nil, avatar_thumb_file: nil, avatar_medium_file: nil,
avatar_updated_at: nil, avatar_file_size: nil, avatar_file_name: nil,
avatar_file: nil, avatar_icon_file: nil, avatar_content_type:
nil>>> foo.avatar_file
=> nil
Note that, for the already existing user object, i''m told that the
avatar_file attribute does not exist. On th eother hand, for a newly
created object, it exsits. All my migrations have been run and are up to
date. My local MySQL browser does see the attribute and its contents.
What''s going on here? The attribute is of type binary... Thanks for any
advice.
--
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.