全新的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 如此酷。