赫赫小虾 2012-12-24
原来的工程是使用sqllite3的,想修改为mysql,折腾了一个下午,终于成功,记录如下:
(1)、在 database.yml 中的配置如下:
development:
adapter: mysql2
database: rails
host: localhost
username: root
password: "123456"
encoding: utf8
pool: 5
timeout: 5000
(2)、 然后执行 rake db:create 发现没有安装mysql adapter
执行:gem install activerecord-mysql-adatper
执行: bundle install 列表中总是没有mysql
(3)、 然后从网上下载 http://dev.mysql.com/downloads/connector/ 最新的connector , 然后把 libmysql.dll copy到 ruby/bin 目录下。
然后继续执行 rake db:create,继续报错:can't convert Fixnum into String
(4) 、发现是由于 mysql的用户密码设置的为:123456造成的。 修改为: "123456",加引号的之后。
有时候mysql 不允许root用户远程登录,可以重新建立 Instance即可。
(5)、在工程下的Gemfile文件中缺少 mysql2 就增加一行:
gem ‘mysql2’
然后执行 : gem install ,就会重新生成 Gemfile
(6)、重新执行 rake db:create , rake db:migrate 成功。