版本
gem安装了“gem install mysql2 -v'< 0.3'”。所有依赖都得到满足。
rails& 'rails c'工作正常。
我需要使用activerecord 3.0.9在rails环境之外运行脚本。当我运行脚本时,这是输出:
======================
/home/ross/work/x/library/models.rb:27:in `eval': !!! Missing the mysql2 gem. Add it to your Gemfile: gem 'mysql2' (RuntimeError)
from /home/ross/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.0.9/lib/active_record/connection_adapters/mysql_adapter.rb:19:in `mysql_connection'
from /home/ross/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.0.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:229:in `new_connection' ....
=======================
很明显,宝石就在那里,因为铁轨有效。
不知道为什么在运行脚本时找不到gem?
任何人都可以对这个问题有所了解吗?
此致 罗斯
答案 0 :(得分:24)
如果它对任何人有帮助,在我的情况下,我忘记将database.yml
中的适配器更改为生成数据库的mysql2
,Gemfile
就可以了(从{{1升级) 2.3.4至3.0.9)。
答案 1 :(得分:16)
首先检查database.yml
你有这样的事情:
development:
adapter: mysql
encoding: utf8
...
要解决您的问题,您需要将mysql
替换为mysql2
。
正确版database.yml
development:
adapter: mysql2
encoding: utf8
...