让 Rails 3 与 MySQL 一起工作时遇到麻烦



全新的Rails。我在OS X 10.6上有一个简单的Rails 3应用程序,使用默认的sqlite3数据库。

我正在尝试将其转换为使用我已经安装的MySQL服务器。(mysql5 -uroot有效。我想使用我安装的mysql2,它说它成功了。

database.yml:

development:
  adapter: mysql2
  database: myproject
  username: root
  socket: /tmp/mysql.sock

宝石文件:

source 'http://rubygems.org'
gem 'rails', '3.0.6'
gem 'mysql2'
gem 'sqlite3'

更多信息:

$  bundle show mysql2
/Users/me/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.3.2

页面加载:"ActiveRecord::ConnectionNotBuilt"

不确定我是否应该自己手动创建myproject数据库。 无论如何,我已经尝试了两种方式。

我得到:

$ rake db:schema:load
(in /Users/me/Sites/myproject/web)
WARNING: This version of mysql2 (0.3.2) doesn't ship with the ActiveRecord adapter bundled anymore as it's now part of Rails 3.1
WARNING: Please use the 0.2.x releases if you plan on using it in Rails <= 3.0.x
-- create_table("notes", {:force=>true})
rake aborted!
Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_adapters/mysql2_adapter)

我试图安装该宝石:

$ sudo gem install activerecord-mysql2-adapter
ERROR:  Could not find a valid gem 'activerecord-mysql2-adapter' (>= 0) in any repository

通过阅读一些非常相似的问题,似乎为其他人解决问题的只是确保 database.yml 适配器说mysql2 .我已经这样做了,但它没有帮助...

在 Gemfile 中使用它:

gem 'mysql2','0.2.7'

然后bundle install.

请注意,mysql2 版本 0.3.x 适用于 Rails 3.1.x。对于 Rails 3.0.x,请使用 mysql2 的 0.2.x 版本。

附言。如果您还没有使用 rvm,我强烈建议您使用它。请参阅此处了解为什么 rvm 如此酷。

相关内容

  • 没有找到相关文章

最新更新