2011-09-07 37 views
6

phiên bảnThiếu đá quý mysql2. Thêm nó vào Gemfile của bạn: đá quý 'mysql2'

  • ruby ​​1.9.2-p290
  • ray 3.0.9
  • mysql2-0.2.13 dưới RVM
  • ubuntu 11.04

gem được cài đặt với "gem install mysql2 -v '< 0.3'". Tất cả phụ thuộc đã được đáp ứng.

đường ray & 'đường ray c' đang hoạt động tốt.

Tôi cần chạy tập lệnh bên ngoài môi trường đường ray bằng activerecord 3.0.9. Khi tôi chạy kịch bản này là sản phẩm:

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

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

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

Rõ ràng đá quý ở đó, bởi vì đường ray hoạt động.

Không biết tại sao đá quý không được tìm thấy khi chạy tập lệnh?

Có ai có thể làm sáng tỏ một số vấn đề không?

Trân Ross

Trả lời

15

Kiểm tra của bạn database.yml đầu tiên

Bạn có một cái gì đó như thế này:

development: 
    adapter: mysql 
    encoding: utf8 
    ... 

Để giải quyết vấn đề của bạn, bạn cần phải thay thế mysql-mysql2.

phiên bản đúng của database.yml

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

Cảm ơn. Vâng, đó là vấn đề của tôi. Tôi đã sử dụng một database.yml khác cho các kịch bản ruby ​​và đã quên cập nhật từ mysql thành mysql2 trong phiên bản yml đó. Cảm ơn sự giúp đỡ nhanh chóng của bạn. Ross –

+0

Bạn được chào đón, Ross. –

21

Trong trường hợp nó giúp mọi người, trong trường hợp của tôi, tôi đã quên để thay đổi adapter trong database.yml-mysql2 cho cơ sở dữ liệu sản xuất, Gemfile là OK (nâng cấp từ rails 2.3. 4 đến 3.0.9).

Các vấn đề liên quan