2011-09-07 9 views
6

バージョンmysql2 gemがありません。あなたのGemfileに追加します:宝石 'mysql2'

  • ルビー1.9.2-P290
  • レール3.0.9
  • mysql2-0.2.13
  • RVMの下のUbuntu 11.04

gem install mysql2 -v '< 0.3' "とインストールされています。すべての依存関係が満たされました。

rails & 'rails c'は正常に動作しています。

activerecord 3.0.9を使用して、レール環境外でスクリプトを実行する必要があります。私は、スクリプトを実行すると、これは出力されます。

======================

/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' .... 

======= ================

レールが機能するので、明らかに宝石がそこにあります。

スクリプトを実行しているときに宝石が見つからない理由はわかりませんか?

誰でも問題を明らかにすることができますか?

development: 
    adapter: mysql 
    encoding: utf8 
    ... 

あなたはmysql2mysqlを交換する必要がある、あなたの問題を解決するには、次の

よろしく ロスが

答えて

15

はあなたdatabase.yml最初

あなたはこのような何かを持って確認してください。場合database.yml

development: 
    adapter: mysql2 
    encoding: utf8 
    ... 
+0

ありがとうございました。はい、それは私の問題でした。私はrubyスクリプトに別のdatabase.ymlを使用していて、そのバージョンのymlでmysqlからmysql2への更新を忘れていました。迅速なご協力ありがとうございます。ロス –

+0

あなたは大歓迎です、ロス。 –

21

正しいバージョンは、それが私の場合には、私は、Gemfilerails 2.3からのアップグレード(OKだった本番データベースのmysql2database.ymlでアダプタを変更するには忘れていた、誰にも役立ちます。 4〜3.0.9)。