dm-mysql2-адаптер (LoadError) но почему? - PullRequest
2 голосов
/ 23 июля 2011

проблема, с которой я имею дело, заключается в следующем.Я установил новую рубиновую среду.В моем текущем проекте я хотел бы использовать следующие драгоценные камни:

RAILS_VERSION = '~> 3.0.4'
DM_VERSION    = '~> 1.1.0'

gem 'rails', '3.0.9'

# Database & ORM
gem 'mysql2', '< 0.3'
gem 'data_mapper',        DM_VERSION
gem 'dm-mysql-adapter',   DM_VERSION
gem 'dm-rails',           DM_VERSION

# Authentication
gem 'devise'
gem 'dm-devise'

У меня есть следующий database.yml:

defaults: &defaults
  adapter: mysql2
  encoding: utf8
  reconnect: false
  pool: 5
  username: blabla
  password: albalb
  host: localhost
  socket: /tmp/mysql.sock

Выполнение "комплектной установки" не приводит ни к какомувид ошибки.Но как только я хочу что-то сделать с базой данных (например, "rails s" или "rake db: migrate"), возникает ошибка:

/Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require': no such file to load -- dm-mysql2-adapter (LoadError)
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency'
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:596:in `new_constants_in'
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:225:in `load_dependency'
from /Users/Gery/.rvm/gems/ruby-1.8.7-p352/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require'

У вас есть идеи, как ее решить?эта проблема?

С наилучшими пожеланиями,

Герардо

Ответы [ 2 ]

4 голосов
/ 26 октября 2011

Я только что вошел в #datamapper и solnic помог мне понять это: нет необходимости использовать гем mysql2 с DataMapper, потому что do-mysql (драйвер dm-mysql-адаптера драйвера DataObject зависит от доступа к репозиториям MySQL) У меня нет проблем с кодировкой символов, поэтому я (и, как я полагаю, большинство людей) использую драйвер mysql2 в проектах ActiveRecord.

Итак, если я не ошибаюсь, почему вы его используете, удалите mysql2 из вашего Gemfile и файла database.yml (замените его на mysql) и сделайте новый bundle install, тебе это не нужно.

0 голосов
/ 13 октября 2011

Это ошибка в dm-core в результате нестандартного кодирования. Я совершил взлом, чтобы исправить это, и отправил запрос на получение здесь: https://github.com/datamapper/dm-core/pull/154

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...