Life Journal

随笔,及其他

我是 Xiao Xiao,在日本的产品经理,偶尔也写代码,iOS/Mac/Web,偶尔也做设计,爱用 Sketch,偶尔写文字,存在这里。


Rails2.3+与MySQL 5.1.3不兼容致使db:migrate报错的解决办法

如果使用最新的Rails 2.3与MySQL 5.1.3进行开发,很有可能你会遇到这个问题:
在rake db:migrate时报错,提示

Mysql::Error: query: not connected: CREATE TABLE schema_migrations (version
varchar(255) NOT NULL) ENGINE=InnoDB

检查日志,你会发现即使配置完全没有问题,运行 ruby script/dbconsole 也能够正常连接上,migrate依然会报错。那么到底是为什么呢?

这是因为MySQL 5.1.3版本所带的libmysql.dll文件并不能很好的与Rails连接。所以你只需更换一个旧版本的libmysql.dll文件即可。

http://instantrails.rubyforge.org/svn/t … bmySQL.dll 处可以下载到旧版本的libmysql.dll文件,将其保存在ruby\bin\目录下即可。

附:这个问题折腾了晓晓半个晚上啊……最终找到的解决方案原出处在此 (blogspot站点,在墙外)