全新的 Rails。我在 OS X 10.6 上运行了一个简单的 Rails 3 应用程序,使用默认的 sqlite3 数据库。
我正在尝试将其转换为使用我已经安装的 MySQL 服务器。 ( mysql5 -uroot
有效。)我想使用 mysql2
,我安装了它,它说它成功了。
数据库.yml:
development:
adapter: mysql2
database: myproject
username: root
socket: /tmp/mysql.sock
gem 文件:
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::ConnectionNotEstablished”
我不确定是否应该创建
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)
我试图安装那个 gem:
$ sudo gem install activerecord-mysql2-adapter
ERROR: Could not find a valid gem 'activerecord-mysql2-adapter' (>= 0) in any repository
从阅读一些 very similar questions ,似乎为其他人解决问题的方法只是确保 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 ,我强烈推荐使用它。见 here为什么 rvm 如此酷。
关于ruby-on-rails - 无法让 Rails 3 与 MySQL 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6006829/