`

关于rails项目从2.x升级到3.0以上时,mysql问题

阅读更多

今日将公司的rails2.3.8项目升级到rails3.0.5的时候,我在3.0.5的项目的Gemfile里面绑定的是mysql2,然后bundle install,之后我又将项目原来的config/databases.yml文件的mysql也都改成了mysql2,其他信息暂时先不动,然后我就用rails  s来启动服务,但是每次启动的时候就报错,说是类型转换错误,当时是我是一顿好找,开始以为是mysql适配器从mysql升级到mysql2的时候会有bug,所以就反复的实验,结果不论我怎样更换适配器,都无效,索性我就进入控制台,new个对象出来,看看报不报错,果然,继续报错,这说明不是我的适配器的问题,还是一顿苦找,终于google到了一条相似的信息,说是在项目升级的时候,因为mysql数据库的适配器充mysql升级到了mysql2,这个时候database.yml里面的适配器要改为mysql2之外,还要注意一点,就是在数据库的密码的 位置,以前是mysql的时候,这里的密码都是不加引号的,因为我的数据库密码是数字,所以mysql解析成了数字类型,但是我升级到mysql2后,这里的密码仍然没有变动,这个时候,mysql就会报一个数据类型转换错误,原因就在于,我这个时候要在以前密码的基础上把密码用引号括起来,形成字符串类型,真是好郁闷,怎么还会报这样的错误。我在想,如果我的密码设置的不是数字,而是普通的字符串,那么这个时候会不会报错,没有试过,如果各位好友有遇到相同的情况还请告知一声,谢谢了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics