Forum: Ruby on Rails rake aborted! undefined method `each' for #<Mysql:

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
7ce426fb7115fd6ef8e9aa2c353e0617?d=identicon&s=25 David Franklin (novus)
on 2008-11-30 19:22
I'm struggling with several problems getting my first time ruby on rails
environment running.  I'm now stuck on this problem too.

rake db:migrate generates the following error.  This one is on a vista
machine.  Anyone seen this before.  Any thoughts or advice?

Reading about Ruby on Rails has really got me excited to give it a try.
But in practice getting to the point that I can actually use RoR has
almost burned me out.  I never thought the transition from C# in a VS08
to RoR would be so frustrating - particularly creating the environment.


**********************************

C:\Users\David\Documents\Rails\mydemo>rake db:migrate --trace
(in C:/Users/David/Documents/Rails/mydemo)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
rake aborted!
undefined method `each' for #<Mysql:0x5cdda84>
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:414:in
`tables'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/schema_statements.rb:330:in
`initialize_schema_migrations_
'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/migration.rb:430:in
`initialize'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/migration.rb:394:in
`new'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/migration.rb:394:in
`up'
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/migration.rb:377:in
`migrate'
c:/ruby/lib/ruby/gems/1.8/gems/rails-2.2.2/lib/tasks/databases.rake:111
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:617:in `call'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:617:in `execute'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `execute'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:578:in
`invoke_with_call_chain'
c:/ruby/lib/ruby/1.8/monitor.rb:242:in `synchronize'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in
`invoke_with_call_chain'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:564:in `invoke'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2019:in
`invoke_task'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in
`top_level'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `each'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in
`top_level'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in
`standard_exception_handling'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1991:in
`top_level'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1970:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in
`standard_exception_handling'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1967:in `run'
c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/bin/rake:31
c:/ruby/bin/rake:16:in `load'
c:/ruby/bin/rake:16

******************************
1031b098def83ad718b247ea0ef2443e?d=identicon&s=25 Gary Doades (Guest)
on 2008-11-30 19:29
(Received via mailing list)
David Franklin wrote:
> to RoR would be so frustrating - particularly creating the environment.
> rake aborted!
> undefined method `each' for #<Mysql:0x5cdda84>
> 
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:414:in
> `tables'

What version of MySQL is this? I have had similar problems with MySQL
5.1 and the mysql gem with ActiveRecord. Switching back to MySQL version
5.0.67 and re-installing the MySQL gem seemed a lot better.

I mainly use postgresql anyway which has no such problem nuder Windows
or Linux.

Cheers,
Gary.
7ce426fb7115fd6ef8e9aa2c353e0617?d=identicon&s=25 David Franklin (novus)
on 2008-11-30 19:40
Gary Doades wrote:
> David Franklin wrote:
>> to RoR would be so frustrating - particularly creating the environment.
>> rake aborted!
>> undefined method `each' for #<Mysql:0x5cdda84>
>> 
c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:414:in
>> `tables'
>
> What version of MySQL is this? I have had similar problems with MySQL
> 5.1 and the mysql gem with ActiveRecord. Switching back to MySQL version
> 5.0.67 and re-installing the MySQL gem seemed a lot better.
>
> I mainly use postgresql anyway which has no such problem nuder Windows
> or Linux.
>
> Cheers,
> Gary.


It's MySQL 5.1.  I'll try backing out to MySQL 5.0 and reinstall the
gem.  Thanks for the help.  I was naive about how challenging setting up
the environment would be.

I'll keep you posted.

Thanks again.
46f52c33235283752423837b91c581dd?d=identicon&s=25 Norm (Guest)
on 2008-12-01 05:59
(Received via mailing list)
David Franklin wrote:
>> What version of MySQL is this? I have had similar problems with MySQL
>
> It's MySQL 5.1.  I'll try backing out to MySQL 5.0 and reinstall the
> gem.  Thanks for the help.  I was naive about how challenging setting up
> the environment would be.
>
> I'll keep you posted.
>
> Thanks again.
>
If you continue to have problems with a migration it would probably help
if you posted the migration file contents.
9f72aa5ee72bd13a8b443fbf3797944c?d=identicon&s=25 katari@gmail.com (Guest)
on 2008-12-03 06:08
(Received via mailing list)
Gary,
Good suggestion. I had the same problem with mysql 5.1, but the
problem disappeared going back to 5.0.

I am using Windows XP, the latest Rails (2.2, or is it 2.1?), and Ruby
1.8.6.

One thing that I also do is to put the libmysql.dll file in c:\ruby
\bin. It is a bit of voodo that I read about in a post that I cannot
find anymore.

Is there a version of the ruby mysql gem out there that will work with
Mysql5.1 on windows? I would love to hear from the group, because I am
eager to try out the horizontal partitioning capabilities of MySql
5.1.

Kaushik

On Nov 30, 10:40 am, David Franklin <rails-mailing-l...@andreas-s.net>
0a2c7b8d1d364319151ff2cf919bb2a3?d=identicon&s=25 Mesut Çelik (mesut)
on 2008-12-22 09:44
katari@gmail.com wrote:
> Gary,
> Good suggestion. I had the same problem with mysql 5.1, but the
> problem disappeared going back to 5.0.
Although i was using 5.0 , that didnt disappeared in my environment...
then i relaized that i was using 5.0.24 but mysql ruby gem (2.7.3) is
supporting 5.0.27...
I just upgraded to that version of mysql server and problem solved...



>
> I am using Windows XP, the latest Rails (2.2, or is it 2.1?), and Ruby
> 1.8.6.

mine is vista.... rails : 2.2 , ruby:1,8,6


>
> One thing that I also do is to put the libmysql.dll file in c:\ruby
> \bin. It is a bit of voodo that I read about in a post that I cannot
> find anymore.

I did the same...
>
> Is there a version of the ruby mysql gem out there that will work with
> Mysql5.1 on windows? I would love to hear from the group, because I am
> eager to try out the horizontal partitioning capabilities of MySql
> 5.1.
>
you can check it here... I couldnt find anything regarding to Mysql 5.1


mesut
www.zerobuffer.com

> Kaushik
>
> On Nov 30, 10:40�am, David Franklin <rails-mailing-l...@andreas-s.net>
0a2c7b8d1d364319151ff2cf919bb2a3?d=identicon&s=25 Mesut Çelik (mesut)
on 2008-12-22 09:49
Mesut Çelik wrote:

> you can check it here... I couldnt find anything regarding to Mysql 5.1
missing url  : http://tmtm.org/mysql/ruby/README.html

>
> mesut
> www.zerobuffer.com
>
>> Kaushik
>>
>> On Nov 30, 10:40�am, David Franklin <rails-mailing-l...@andreas-s.net>
E92d09efe27bf50a87967c533fae247a?d=identicon&s=25 James Masters (jamesm17)
on 2008-12-23 06:00
Gary Doades wrote:
> What version of MySQL is this? I have had similar problems with MySQL
> 5.1 and the mysql gem with ActiveRecord. Switching back to MySQL version
> 5.0.67 and re-installing the MySQL gem seemed a lot better.

Rolling back to 5.0.67 also worked for me.  Thanks!
Dc9ed63e9482e9b88b120dc47ee28fb4?d=identicon&s=25 bflower@westpac.com.au (Guest)
on 2009-02-11 12:19
(Received via mailing list)
The problem is that libmysql.dll shipped with Mysql doesn't play well
with ruby 2.2..

The solution is to download the libmysql.dll from:

http://instantrails.rubyforge.org/svn/trunk/Instan...

and save this in your ruby bin directory

see also:
http://forums.aptana.com/viewtopic.php?f=20&t=7563...



On Dec 1 2008, 5:22 am, David Franklin <rails-mailing-l...@andreas-
27d56a8944020c4645b35eab6c557084?d=identicon&s=25 Madhav Ruby (madhav)
on 2009-02-12 19:32
The last suggestion that recommended downloadling libmysql.dll worked
for me.
Thanks!

bflower@westpac.com.au wrote:
> The problem is that libmysql.dll shipped with Mysql doesn't play well
> with ruby 2.2..
>
> The solution is to download the libmysql.dll from:
>
> 
http://instantrails.rubyforge.org/svn/trunk/Instan...
>
> and save this in your ruby bin directory
>
> see also:
> http://forums.aptana.com/viewtopic.php?f=20&t=7563...
>
>
>
> On Dec 1 2008, 5:22�am, David Franklin <rails-mailing-l...@andreas-
764a2cf6319cfd0abb71148b0b6ab5ca?d=identicon&s=25 David Triebwasser (triebwad)
on 2009-03-08 21:12
thanks to all the suggestions and the link to the older libmysql.dll. I
placed it in my ruby/bin and migration succeeded.

I had
mysql 5.1.32-community
ruby 1.8.6
rails 2.2.2
on windows xp

and was getting this error using rake db:migrate --trace
rake aborted!
undefined method `each' for #<Mysql:0x4873184>

I had to drop the preexisting tables and also remove the create_[table]
rb files generated initially.
I'm following the tutorial at
http://www.tutorialspoint.com/ruby-on-rails/

Madhav Ruby wrote:
> The last suggestion that recommended downloadling libmysql.dll worked
> for me.
> Thanks!
>
> bflower@westpac.com.au wrote:
>> The problem is that libmysql.dll shipped with Mysql doesn't play well
>> with ruby 2.2..
>>
>> The solution is to download the libmysql.dll from:
>>
>> 
http://instantrails.rubyforge.org/svn/trunk/Instan...
>>
>> and save this in your ruby bin directory
>>
>> see also:
>> http://forums.aptana.com/viewtopic.php?f=20&t=7563...
>>
>>
>>
>> On Dec 1 2008, 5:22�am, David Franklin <rails-mailing-l...@andreas-
3eb4a01cf6c1879862762aeb8e41a49e?d=identicon&s=25 Kevin Kleinfelter (kleinfelter)
on 2009-04-12 23:04
If you get "rake aborted! undefined method `each' for..." on Windows
(win32), it is almost certainly a mismatch between the version of MySQL
and the version of the gem.  Looking at the readme inside the .gem, it
says that the gem was compiled against MySQL 5.0.27.  V2.7.3 of the
pre-compiled gem will NOT work with MySQL 5.1.

If you're going to use the pre-compiled V2.7.3 Windows gem, you'll have
to use MySQL 5.0.27.
28a4d1b683ec25e1d0312a2a90f63b6f?d=identicon&s=25 Damaris Fuentes (damaris)
on 2009-05-14 16:11
You can use MySQL 5.1 if you don't install mysql gem v2.7.3. It is
strange because, if you don't install this version, some warnings appear
related to it, saying that the bundled-in mysql gem is going to be
deprecated and you are encouraged to install the latest gem (apparently,
the 2.7.3 one...)

Kevin Kleinfelter wrote:
> If you get "rake aborted! undefined method `each' for..." on Windows
> (win32), it is almost certainly a mismatch between the version of MySQL
> and the version of the gem.  Looking at the readme inside the .gem, it
> says that the gem was compiled against MySQL 5.0.27.  V2.7.3 of the
> pre-compiled gem will NOT work with MySQL 5.1.
>
> If you're going to use the pre-compiled V2.7.3 Windows gem, you'll have
> to use MySQL 5.0.27.
This topic is locked and can not be replied to.