I am PHP developer and trying to learn ROR. Currently I am building my
first Rails website (OS X Snow Leopard, TextMate) and decided to
switch from sqlite to mysql. After many-many hours of searching the
internet I managed to install mysql gem. Now I get this error when I
try to run rake migrations:
rake aborted!
Mysql::Error: query: not connected: CREATE TABLE `schema_migrations`
(`version` varchar(255) NOT NULL) ENGINE=InnoDB
I read somewhere that new latest Rails doesn't work with mysql
properly and I have to reinstall mysql etc etc.
I am seriously tired of this, it just doesn't make any sense. I can
set up Apache+PHP+MySQL environment literary in minutes, why Rails
+MySQL takes days?? Is there a safe stack of Ruby+Rails+MySQL that I
can just install and concentrate on web development?
I am PHP developer and trying to learn ROR. Currently I am building my
first Rails website (OS X Snow Leopard, TextMate) and decided to
switch from sqlite to mysql. After many-many hours of searching the
internet I managed to install mysql gem. Now I get this error when I
try to run rake migrations:
rake aborted!
Mysql::Error: query: not connected: CREATE TABLE `schema_migrations`
(`version` varchar(255) NOT NULL) ENGINE=InnoDB
I read somewhere that new latest Rails doesn't work with mysql
properly and I have to reinstall mysql etc etc.
What's in your database.yml ? If you cd to your app and run
ruby script/dbconsole
then rails will open up a mysql console using the connection
parameters from your database.yml file, if that doesn't work then
there's definitely something wrong with that configuration file.
I am seriously tired of this, it just doesn't make any sense. I can
set up Apache+PHP+MySQL environment literary in minutes, why Rails
+MySQL takes days??
Because you're new to rails. I can set up rails and mysql pretty damn
quick but it would probably take me way longer to set up php & mysql
or some java based framework, but that's just to be expected given the
tools I know.
What I understood from the pages I visited from google was that the rails 2.3.3 which I had installed on my windows xp machine didn’t work properly with the mysql driver (libmysql.dll). I had to download a different version and add it in c:\ruby\bin I will be able to get more information in some 3 more hours when I will be in office where I experienced this error
development:
adapter: mysql
encoding: utf8
database: dom
pool: 5
username: my_username
password: my_password
socket: /tmp/mysql.sock
(same settings both for test and production environments just for now)
if I run ruby script/dbconsole I get this error:
Couldn't find database client: mysql, mysql5. Check your $PATH and try
again.
Also if I run rake db:create it creates a database without any
problems, but any rake db:migrate raises an exception:
Mysql::Error: query: not connected: CREATE TABLE `schema_migrations`
(`version` varchar(255) NOT NULL) ENGINE=InnoDB
Because you're new to rails. I can set up rails and mysql pretty damn
quick but it would probably take me way longer to set up php & mysql
or some java based framework, but that's just to be expected given the
tools I know.
The thing is - it seems there is no definite tutorial for ROR+MySQL, I
followed one to install ROR, then another to get mysql, then another
to install mysql gem and now I am stuck, because it just doesn't work.
I am not a unix-master, I don't want to compile some obscure versions
of mysql, then move all the files around, compile gems, then remove
this, install that...
This is exactly what I am talking about. The problem is, that this
recommendation to copy mysql dll file won't work on OS X. That's why I
am stuck. I followed Rails tutorials to install mysql gem and now it
turns out that Rails doesn't work with it's own gem.
Also, it is possible to do development in many PHP frameworks without
really understanding the system you're working with. It is perhaps a
bit less possible in Rails. On balance, that's probably a good thing.
Is it possible to understand the system without even starting to use
it? The good thing is that anyone can enable Apache+PHP in OS X, then
download and install MySQL and they will just work. The bad thing
thing is that if you follow the official tutorial on how to install
ROR, then install MySQL and run gem install mysql - it won't work.
That's the real bad thing. It has nothing to do with PHP frameworks.
Also, it is possible to do development in many PHP frameworks without
really understanding the system you're working with. It is perhaps a
bit less possible in Rails. On balance, that's probably a good thing.
Is it possible to understand the system without even starting to use
it?
By "system", I meant the OS, not the app framework.
The good thing is that anyone can enable Apache+PHP in OS X, then
download and install MySQL and they will just work. The bad thing
thing is that if you follow the official tutorial on how to install
ROR, then install MySQL and run gem install mysql - it won't work.
That's the real bad thing.
The official site says that ROR is installed by default on Mac OS.
MySQL installs the same way regardless of whether you're using PHP or
Ruby. So that leaves the mysql gem, which does just work. Your case is
apparently not typical -- the "install mySQL, install mysql gem, go"
works for nearly everyone.
It has nothing to do with PHP frameworks.
Nor with Rails. Sounds like your particular setup.
With this configuration all rails 2.3.4 activerecord tests on mysql db
pass. You'll notice that I'm running old hardware (ppc) and OS
(leopard sans snow). Don't loose heart - I expect we can get you up
and running.