rails对于一个已经新建的工程如何更改Gem

原来的工程是使用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 成功。

相关推荐